ClosedXML是一个.NET库,用于读取,操作和编写Excel 2007(.xlsx,.xlsm)文件。
无法加载文件或程序集“SixLabors.Fonts”ClosedXML NugetPackage
在生产中,我尝试使用 ClosedXML nuget 包将数据库表导出到 Excel 中,但是我在标题中收到此错误,我在本地主机上尝试了它,但它工作得很好。 ...
从跨多个工作表的复杂计算得出的 Excel 单元格中提取数据
我在从 Excel 单元格中提取数据时遇到了挑战,该单元格从跨多个工作表的复杂计算中得出其值。数据源涉及来自各个
我正在使用 ClosedXML 将 DataTable 批量复制到 Excel 文件中。 在 DataTable 中,并非所有项目都有值。当将其放入文件中时,该单元格中的值似乎是“”(空字符串)实例...
我正在尝试使用 CloseXlm 读取 xlsx 文件,因此我创建了以下 ReadFile 方法。为了测试它,我使用 MSTest 创建了一个测试方法,以及另一个创建 xlsx 文件的方法,并且...
如何在 Blazor WASM 应用程序中使用 ClosedXml 创建和下载具有“启用编辑”功能的 Excel 工作簿
Google 搜索得出:要在 C# 中使用 ClosedXML 创建具有“启用编辑”功能的电子表格,只需创建一个新工作簿并向其中添加数据,无需应用任何保护机制;通过
我一直在使用 ClosedXML 在 vb.net 上开发一个程序。它基本上应该包含 2 个 excel 文件。 这是第一个文件(称为 ws2 )中的第一个(也是唯一的)工作表的示例: 首先...
我对该领域还很陌生,我一直在尝试使用 ClosedXML 自动创建和修改 excel 文件。 但这似乎不起作用。 我基本上是想从 2 个文件复制数据
从 IXLTable 中删除行时抛出 ParsingException
我之前使用的是0.101.0版本,目前正在测试0.104.1版本 该代码适用于 0.101.0 版本。它基本上删除了表上多余的行: var lastRow = wbTable.DataRange.La...
我正在使用Closedxml来导出Excel.. 现在我可以使用以下功能保护(锁定单元格)单元格, workSheet.Cell(rowIndex,column).Style.Protection.SetLocked(true); 我想设置ce组...
在使用 ClosedXML 创建的 Excel 中写入保护列,但允许自动筛选
我正在使用 ClosedXML 和 C# 来创建 Excel 工作表。 要求是 允许所有列上的自动归档 仅允许编辑表单“B”列,对其余列进行写保护 允许
ASP.NET Core 8 MVC 应用程序控制器应创建一个 Excel 电子表格,其中包含来自任意 SQL 选择的列(数字、字符串、日期、逻辑)中的类型数据。 我尝试了这段代码: 公共异步...
根据文档,您可以使用以下语法向单元格添加条件格式: .AddConditionalFormat().WhenEquals("=B1") 所以我尝试了这个: cell.AddConditionalFormat().WhenEquals("=...
ClosedXML 数字格式在版本 0.102.2 中不起作用
我最近从 .NET core 3.1 更新到 .NET 8.0,并将 ClosedXML 更新到版本 0.102.2,但数字格式停止工作,知道我做错了什么吗? 格式化不适用...
将数据导出为 Excel - 最后一列显示未知标识符“item”
我正在使用 Datatable.js 和 ClosedXML 将网格数据导出到 Excel。 这是模板快照,出于隐私原因更改了列名 - 当我下载 Excel 工作表时,我在最后一个 co 中遇到错误...
我们使用 ClosedXML 生成 .XLSX 电子表格,因为它小、灵活且快速。 看来所有的数据透视表类和方法都在 API 中,但没有文档...
如何将一些 VBA 代码嵌入到使用 ClosedXML 创建的电子表格中?
我正在使用 ClosedXML 从 C# (asp.net-mvc) 生成电子表格,效果非常好。 我还有一个额外的要求,因此我想获得一些关于如何实现这一目标的反馈。 我想...
在 C# 中使用 ClosedXML 打开 xlsx 文件时,出现 ArgumentOutOfRangeException
我正在使用 NuGet 的最新版本的 ClosedXML:.102.3。 我可以使用 ClosedXML 打开一些电子表格,但也有很多无法打开。 新信息:我访问 ClosedXML 网站并得到...
我用文本创建单元格。之后我设置了 WrapText 属性和列宽。 var cell = worksheet.Cell("A1"); cell.Style.Alignment.WrapText = true; cell.SetValue("这是很长的文本"); 工作...
FileContentResult 返回 - 2 种不同的控制器方法,不同的结果
我正在使用 ASP.NET Core 和 ClosedXML 生成 Excel 导出。 这是将 .xlsx 文件返回到浏览器的控制器方法。该方法从 .cshtml 页面调用: 我正在使用 ASP.NET Core 和 ClosedXML 生成 Excel 导出。 这是向浏览器返回 .xlsx 文件的控制器方法。该方法从 .cshtml 页面调用: <form id="downloadLoanEvents" asp-action="DownloadLoanEventsLog" asp-controller="Lender" asp-route-id="@Model.LoanFileId" method="post"> <div class="form-group"> <input type="submit" value="Submit" /> </div> </form> 这是DownloadLoanEventsLog控制器方法: [HttpPost] public async Task<IActionResult> DownloadLoanEventsLog(string id) { var user = await _userManager.GetUserAsync(HttpContext.User); var loan = _unitOfWork.LoanFiles.GetById(id); var list = eventLogService.GetLoanFileEventLog(id, _unitOfWork, user); string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; string fileName = $"Loan-{loan.LoanNumber}-EventsLog.xlsx"; try { using (var workbook = new XLWorkbook()) { IXLWorksheet worksheet = workbook.Worksheets.Add("Events"); worksheet.Cell(1, 1).Value = "EventDate"; worksheet.Cell(1, 2).Value = "LoanNumber"; int index = 2; foreach (var row in list) { worksheet.Cell(index, 1).Value = row.EventDateTimeDisplay; worksheet.Cell(index, 2).Value = row.LoanNumber; index++; } using (var stream = new MemoryStream()) { workbook.SaveAs(stream); var content = stream.ToArray(); return File(content, contentType, fileName); } } } catch (Exception ex) { return RedirectToAction("CloseLoan", new { id = id }).WithWarning("", "Exporting Loan File Events Failed"); } finally { } } DownloadLoanEventLog方法效果很好。我很快就在浏览器中获取了预期的 Excel 文件。 这是控制器方法,不会将 .xlsx 文件返回到浏览器。 该方法与第一种方法几乎相同,但此导出在 Ajax 调用中启动,将 json 数据数组发送到控制器。 var rows = $("#report").jqxGrid('getrows'); var loans = []; for (var i = 0; i < rows.length; i++) { var row = rows[i]; loans.push({ "loanNumber": row.loanNumber, "loanType": row.loanType, }); } var jqxhr = $.ajax({ data: JSON.stringify(loans), contentType: "application/json", url: "/Reports/ExportLoansReport", type: "POST" }); 这是ExportLoansReport控制器方法: [HttpPost] public IActionResult ExportLoansReport([FromBody] List<LoansReportExportViewModel> model) { string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; string fileName = $"Loans-Export.xlsx"; try { using (var workbook = new XLWorkbook()) { IXLWorksheet worksheet = workbook.Worksheets.Add("Loans"); worksheet.Cell(1, 1).Value = "LoanNumber"; worksheet.Cell(1, 2).Value = "LoanType"; int index = 2; foreach (var row in model) { worksheet.Cell(index, 1).Value = row.LoanNumber; worksheet.Cell(index, 2).Value = row.LoanType; index++; } using (var stream = new MemoryStream()) { workbook.SaveAs(stream); var content = stream.ToArray(); return File(content, contentType, fileName); } } } catch(Exception ex) { return Json("some fail msg"); } } ExportLoansReport在[FromBody]参数中获取到了有效的json对象,代码根本不会抛出任何异常。一旦 return File 触发,什么也不会发生,没有文件返回到浏览器。 我怀疑这个问题是因为请求是从客户端发出的,但我不知道如何解决它。 看来ajax本身并不是为了支持下载文件场景而设计的。您可能想尝试使用 ajaxfiledownload 包,它支持以异步方式从服务器获取文件。
ClosedXML(版本 0.102.2):设置水平对齐不起作用
我试图在将数据导出到Excel时设置单元格的水平对齐方式。带有数字的单元格应右对齐。 我做了什么: 首先创建表: var 表 = CurrentWorksheet.Range(1, 1,