导出Excel

public static string ExportToExcel(DataTable dt, Page page, string filename)
{
  string SavaFilesPath = page.Server.MapPath("~\UploadFiles\" + filename);

if (null != dt && dt.Rows.Count > 0)
{

NPOI.XSSF.UserModel.XSSFWorkbook book = new NPOI.XSSF.UserModel.XSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet = book.CreateSheet(dt.TableName == "" || dt.TableName == null ? "sheet" : dt.TableName);

NPOI.SS.UserModel.IRow row = sheet.CreateRow(0);
for (int i = 0; i < dt.Columns.Count; i++)
{
row.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(i + 1);
for (int j = 0; j < dt.Columns.Count; j++)
{
row2.CreateCell(j).SetCellValue(Convert.ToString(dt.Rows[i][j]));
}
}
// 写入到客户端
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
book.Write(ms);
using (FileStream fs = new FileStream(SavaFilesPath, FileMode.Create, FileAccess.Write))
{
byte[] data = ms.ToArray();
fs.Write(data, 0, data.Length);
fs.Flush();
}
book.Close();
book = null;
}
}

return SavaFilesPath;

}

原文地址:https://www.cnblogs.com/sanshengshitouhua/p/14354933.html