将DataTable中的数据导出到Excel

 1 public static void Export(System.Data.DataTable dt,NPOI.HSSF.UserModel.HSSFWorkbook workbook,string FilePath)
 2         {
 3             if(dt.Rows.Count == 0)
 4             {
 5                 System.Windows.MessageBox.Show("尚未读取到任何数据");
 6                 return;
 7             }
 8             ISheet sheet = workbook.CreateSheet("导出数据");
 9             HSSFCellStyle styleHeader =(HSSFCellStyle)workbook.CreateCellStyle();
10             styleHeader.Alignment = HorizontalAlignment.Center;
11             IFont font = workbook.CreateFont();
12             font.FontHeight = 20 * 20;
13             font.Color = HSSFColor.Red.Index;
14             styleHeader.SetFont(font);
15             HSSFCellStyle style = (HSSFCellStyle)workbook.CreateCellStyle();
16             style.Alignment = HorizontalAlignment.Center;
17             using(FileStream fs = new FileStream(FilePath + "\\导出数据.xls",FileMode.Create))
18             {
19                 IRow rowHeader = sheet.CreateRow(0);
20                 for (int col = 0; col < dt.Columns.Count; col++)
21                 {
22                     ICell cellHeader = rowHeader.CreateCell(col);
23                     cellHeader.SetCellValue(dt.Columns[col].ColumnName);
24                     sheet.SetColumnWidth(col, 30 * 256);
25                     cellHeader.CellStyle = styleHeader;
26                 }
27                 for (int i = 1; i < dt.Rows.Count; i++)
28                 {
29                     IRow row = sheet.CreateRow(i);
30                     for (int j = 0; j < dt.Columns.Count; j++)
31                     {
32                         ICell cell = row.CreateCell(j);
33                         cell.SetCellValue(dt.Rows[i - 1][j].ToString());
34                         cell.CellStyle = style;
35                     }
36                 }
37                 workbook.Write(fs);
38                 System.Windows.MessageBox.Show("保存成功");
39             }
40         }

 

转载于:https://www.cnblogs.com/zhaotianff/p/5843365.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值