try
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Excel文件|*.xlsx";
saveFileDialog.FilterIndex = 2;
saveFileDialog.RestoreDirectory = true;
var filePath = "";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
filePath = saveFileDialog.FileName;
#region 重命名Sheet
using (FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
//创建workbook,说白了就是在内存中创建一个Excel文件
IWorkbook workbook = new HSSFWorkbook();
//要添加至少一个sheet,没有sheet的excel是打不开的
ISheet sheet1 = workbook.CreateSheet("产品信息");
ISheet sheet2 = workbook.CreateSheet("过站信息");
ISheet sheet3 = workbook.CreateSheet("关键件信息");
ISheet sheet4 = workbook.CreateSheet("测试信息");
ISheet sheet5 = workbook.CreateSheet("一般物料");
ISheet sheet6 = workbook.CreateSheet("SMT物料");
ISheet sheet7 = workbook.CreateSheet("维修");
#region 给产品信息sheet页赋值
//获取要导入的值
DataTable ds1 = ProductExcel();
if(ds1.Rows.Count>0)
{
string[] excelHeader = new string[] { "序号", "制令单", "是否返工", "工单", "产品代码", "产品条码", "制令单线别", "投入时间", "最近过站工序", "包装条码", "是否结束流程" };
IRow headerRow = sheet1.CreateRow(0);
for (int i = 0; i < excelHeader.Length; i++)
{
headerRow.CreateCell(i).SetCellValue(excelHeader[i]);
}
for(int m=0;m<ds1.Rows.Count;m++)
{
IRow row = sheet1.CreateRow(m + 1);
for (int n=0;n< ds1.Columns.Count;n++)
{
row.CreateCell(n).SetCellValue(ds1.Rows[m][n].ToString());
}
}
}
else
{
MsgBox.Error("导出失败");
return;
}