C#将数据导入到excel表格中

  1. C#写excel表格相对来说比较容易
  2. public static bool DataTableToExcel(DataTable dt)  
  3.         {  
  4.             bool result = false;  
  5.             IWorkbook workbook = null;  //保存的数据
  6.             FileStream fs = null;  
  7.             IRow row = null;  
  8.             ISheet sheet = null;  //生成表格
  9.             ICell cell = null;  
  10.             try  
  11.             {  
  12.                 if (dt != null && dt.Rows.Count > 0)  
  13.                 {  
  14.                     workbook = new HSSFWorkbook();  
  15.                     sheet = workbook.CreateSheet("Sheet0");//创建一个名称为Sheet0的表  
  16.                     int rowCount = dt.Rows.Count;//行数  
  17.                     int columnCount = dt.Columns.Count;//列数  
  18.   
  19.                     //设置列头  
  20.                     row = sheet.CreateRow(0);//excel第一行设为列头,在第一行中写入数据(所有列的第一行)
  21.                     for (int c = 0; c < columnCount; c++)  
  22.                     {  
  23.                         cell = row.CreateCell(c, CellType.Numeric);  //创建一个单元格,保留文本格式
  24.                         cell.SetCellValue(dt.Columns[c].ColumnName);  //将数据写入到单元格中
  25.                     }                      
  26.   
  27.                     //设置每行每列的单元格,  
  28.                     for (int i = 0; i <rowCount; i++)  //写完所有的行和列
  29.                     {  
  30.                         row = sheet.CreateRow(i+1); //这里是新开启一行,从第二行开始写,第一行上面已经写完
  31.                         for (int j = 0; j < columnCount; j++)  
  32.                         {                              
  33.                             cell = row.CreateCell(j);//excel第二行开始写入数据,一列一列的分别创建单元格 
  34.                             cell.SetCellValue(dt.Rows[i][j].ToString()); //创建列的单元格的内容                             
  35.                         }  
  36.                     }  
  37.                     using (fs = File.OpenWrite(@"D:/xls.xls"))   
  38.                     {  
  39.                         workbook.Write(fs);//向打开的这个xls文件中写入数据  
  40.                         result = true;  
  41.                     }  
  42.                 }  
  43.                 return result;  
  44.             }  
  45.             catch (Exception ex)  
  46.             {  
  47.                 if (fs != null)  
  48.                 {  
  49.                     fs.Close();  
  50.                 }  
  51.                 return false;  
  52.             }  
  53.         } 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值