这我在工做中须要时在网上找的一些代码 让后通过个人加工拿出来和你们分享一下ide
/*******从
txt文本文档中读取数据,而后在导入到Excel表中
使用
IO流从文本文档中读取数据,而后在读入到DataTable转入到Excel中********/
//txt文本文档路径
txtpath =
"D:\\Trans_MA.txt";
//读取文本文档的数据
StreamReader swtxt =
new StreamReader(txtpath ,Encoding .Default );
//1、若是文档中有相同的数据列的话
必须声明每一个列名,不然在输入到DataTable中有报出有相同列的错误,有多少列就添加多少列过去
//遍历文档中每行的数据
while ((txtfile = swtxt.ReadLine())!= null)
{
txtLength++;
txtdata = txtfile.Split("@".ToCharArray());
//新建行,行的列头,数据类型与
dataTable相同
dr = dt.NewRow();
dr["公司代码
"] = txtdata[0];
dr["客户订单号
"] = txtdata[1];
dr["客户出货单号
"] = txtdata[2];
dr["盖章码
"] = txtdata[3];
dr["换货日期
"] = txtdata[4];
dr["序号
"] = txtdata[5];
dr["售達方代碼
"] = txtdata[6];
dr["送達方代号
"] = txtdata[7];
dr["货主货号
"] = txtdata[8];
if (txtdata[9].Trim() == "0")
{
dr["退换货标记
"] =
"退货
";
}
else if (txtdata[9].Trim() == "1")
{
dr["退换货标记
"] =
"换货
";
}
dr["单位
"] = txtdata[10];
dr["單位代碼
"] = txtdata[11];
dr["基本單位與單位之間的換算比
"] = txtdata[12];
dr["基本單位
"] = txtdata[13];
dr["数量
"] = txtdata[14];
dr["单价
"] = txtdata[15];
dr["折讓金額
"] = txtdata[16];
dr["折讓類型
"] = txtdata[17];
if (txtdata[18].Trim() == "0")
{
dr["赠品
"] =
"非赠品
";
}
else if (txtdata[18].Trim() == "1")
{
dr["赠品
"] =
"赠品
";
}
if (txtdata[19] == "")
{
dr["送达的时间要求
"] =
"NoTM";
}
else
{
dr["送达的时间要求
"] = txtdata[18];
}
dr["商品的生产日期要求
(起始)"] = txtdata[20];
dr["商品的生产日期要求
(终止)"] = txtdata[21];
dr["备注
"] = txtdata[22];
//把每列添加到
DataTable中
dt.Rows.Add(dr);
}
//读入到
Excel表中就赶上面的大体相同了
Microsoft.Office.Interop.Excel.
Application myexcel = new Microsoft.Office.Interop.Excel.Application();
myexcel.Visible =
true;
Microsoft.Office.Interop.Excel.
Workbooks myworkbooks = myexcel.Workbooks;
Microsoft.Office.Interop.Excel.
Workbook myworkbook = myworkbooks.Add(1);
Microsoft.Office.Interop.Excel.
Worksheet myworksheet =(Microsoft .Office.Interop.Excel.Worksheet)myworkbook.Worksheets[1];
//设置显示多少行,列的数据汉字表头
Microsoft.Office.Interop.Excel.
Range myrange =myworksheet.get_Range("A1","W1");
object[] objrow = { "公司代码
",
"客户订单号
",
"客户出货单号
",
"盖章码
",
"换货日期
",
"序号
",
"售達方代碼
",
"送達方代号
",
"货主货号
",
"退换货标记
",
"单位
",
"單位代碼
",
"基本單位與單位之間的換算比
",
"基本單位
",
"数量
",
"单价
",
"折讓金額
",
"赠品
",
"送达的时间要求
",
"商品的生产日期要求
(起始)",
"商品的生产日期要求
(终止)",
"备注
"};
myrange.Value2 = objrow;
//整行
excel的背景颜色
myrange.Interior.ColorIndex = 4;
//设置整个单元格字体的颜色
myrange.Font.ColorIndex = 5;
myrange = myworksheet.get_Range(
"A2", System.Reflection.Missing.Value);
//Object[1001, 23] 设定
excel表中的 1001行和 23列
object[,] objectarr =
new Object[1001, 23];
for (int i = 0; i < dt.Rows.Count-1; i++)
{
rowcount++;
int col = rowcount - 1;
//设定
Excel表中显示的列的状况
objectarr[col, 0] = SelectCompanycode((dt.Rows[i]["公司代码
"]).ToString ());
objectarr[col, 1] = dt.Rows[i]["客户订单号
"];
objectarr[col, 2] = dt.Rows[i]["客户出货单号
"].ToString().Trim();
objectarr[col, 3] = dt.Rows[i]["盖章码
"].ToString().Trim();
objectarr[col, 4] = dt.Rows[i]["换货日期
"].ToString().Trim();
objectarr[col, 5] = dt.Rows[i]["序号
"].ToString().Trim();
objectarr[col, 6] = dt.Rows[i]["售達方代碼
"].ToString().Trim();
objectarr[col, 7] = dt.Rows[i]["送達方代号
"].ToString().Trim();
objectarr[col, 8] = dt.Rows[i]["货主货号
"].ToString().Trim();
objectarr[col, 9] = dt.Rows[i]["退换货标记
"].ToString().Trim();
objectarr[col, 10] = dt.Rows[i]["单位
"].ToString().Trim();
objectarr[col, 11] = dt.Rows[i]["單位代碼
"].ToString().Trim();
objectarr[col, 12] = dt.Rows[i]["基本單位與單位之間的換算比
"].ToString().Trim();
objectarr[col, 13] = dt.Rows[i]["基本單位
"].ToString().Trim();
objectarr[col, 14] = dt.Rows[i]["数量
"].ToString().Trim();
objectarr[col, 15] = dt.Rows[i]["单价
"].ToString().Trim();
objectarr[col, 16] = dt.Rows[i]["折讓金額
"].ToString().Trim();
objectarr[col, 17] = dt.Rows[i]["折讓類型
"].ToString().Trim();
objectarr[col, 18] = dt.Rows[i]["赠品
"].ToString().Trim();
objectarr[col, 19] = dt.Rows[i]["送达的时间要求
"].ToString().Trim();
objectarr[col, 20] = dt.Rows[i]["商品的生产日期要求
(起始)"].ToString().Trim();
objectarr[col, 21] = dt.Rows[i]["商品的生产日期要求
(终止)"].ToString().Trim();
objectarr[col, 22] = dt.Rows[i]["备注
"].ToString().Trim();
myrange = myrange.get_Resize(1001, 23);
myrange.Value2 = objectarr;
myrange.EntireColumn.AutoFit();
myexcel =
null;
// 2、若是
txt文本文档中没有相同的数据,就不须要在添加多少 行列了 能够经过遍历数据行列就能够了
//遍历文档中每行的数据
while ((txtfile = swtxt.ReadLine())!= null)
{
txtLength++;
txtdata = txtfile.Split("@".ToCharArray());
if
(blnFlag)
{
blnFlag
= false;
//获取长度
intColCount = txtdata.Length;
for
(int i = 0; i < txtdata.Length;
i++)
{
//添加列
mydc = new DataColumn(txtdata [i]);
//将添加的列加入到
DataTable中
mydt.Columns.Add(mydc);
}
}
//新建立行,行的列头、数据类型与
DataTable相同
Mydr = mydt.NewRow();
for (int i = 0; i < intColCount; i++)
{
// 给新行的数据赋值
Mydr[i] = txtdata [i];
}
//将新行数据加入到
Data Table中
mydt.Rows.Add(myrrh);
}