可以使用Workbook.Settings属性来控制是否必须调用Workbook.Save()来保存对工作表的更改。
以下是示例代码:
// 加载工作簿 Workbook workbook = new Workbook("Book1.xlsx");
// 设置单元格格式 Worksheet worksheet = workbook.Worksheets[0]; Cells cells = worksheet.Cells; Style style = workbook.CreateStyle(); style.Number = 14; cells["A1"].SetStyle(style); cells["B1"].SetStyle(style);
// 设置工作表设置 workbook.Settings.AutoRecoverEnabled = false; workbook.Settings.MemorySetting = MemorySetting.MemoryPreference; workbook.Settings.EnableMultiThreadedCalculation = true;
// 将更改保存到内存而不保存到磁盘 workbook.SaveOptions.MemorySetting = MemorySetting.MemoryPreference; workbook.SaveOptions.CheckFontCompatibility = false; workbook.SaveOptions.ClearData = false; workbook.SaveOptions.SaveFormat = SaveFormat.Xlsx; workbook.SaveOptions.RefreshChartCache = false; workbook.SaveOptions.ValidateMergedAreas = true; workbook.SaveOptions.LightCellsDataProvider = new LightCellsDataProvider();
// 获取内存中的输出文件流 MemoryStream stream = new MemoryStream(); workbook.Save(stream, SaveFormat.Xlsx);
// 将输出流转换为字节数组 byte[] bytes = stream.ToArray();
// 使用字节数组来生成Excel文档 Response.Clear(); Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment;filename=Book1.xlsx"); Response.BinaryWrite(bytes); Response.End();