You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#不依赖Excel Interop实现.xlsb文件读写的可行方案求助

可行的.xlsb格式读写实现方案

你之前尝试的ExcelDataReader、LinqToExcel均为只读类库,本身不支持写入操作,以下是完全符合「保留.xlsb格式、无需Excel Interop、保留原有宏与公式」约束的可读写方案:

方案1:ClosedXML(优先推荐)

当前最新版本已原生支持.xlsb格式的读写操作,API设计简洁友好,完全开源无商业授权风险,可完整保留原有文件的宏、公式、单元格格式、工作表结构。

使用步骤

  1. 安装NuGet包:ClosedXML、ClosedXML.Excel.Binary
  2. 示例代码:
// 加载现有.xlsb模板
using var workbook = new XLWorkbook("模板文件路径.xlsb");
// 按索引或名称获取要写入的工作表,索引从1开始
var targetSheet = workbook.Worksheet(1);
// 单单元格写入
targetSheet.Cell("A1").Value = "业务数据";
targetSheet.Cell(2, 2).Value = 999.99;
// 批量写入实体集合
var businessData = new List<业务模型>
{
    new 业务模型 { 序号 = 1, 名称 = "测试1", 金额 = 100 },
    new 业务模型 { 序号 = 2, 名称 = "测试2", 金额 = 200 }
};
// 从第3行第1列开始插入表格
targetSheet.Cell(3, 1).InsertTable(businessData, false);
// 保存文件,未修改的工作表(含宏、公式)会完整保留
workbook.SaveAs("输出文件路径.xlsb");

方案2:NPOI

NPOI 2.6及以上稳定版本已内置.xlsb格式支持,完全托管实现,资源占用极低,适合服务端高并发场景。

特点

  • 无需依赖任何Office组件
  • 可精准控制指定工作表的读写操作,不会改动未操作的工作表内容
  • 完全开源免费,无授权限制

方案3:EPPlus

EPPlus 5及以上版本新增了.xlsb格式支持,对复杂Excel公式的兼容性更好。

注意

非商业场景可免费使用,商业用途需要购买对应授权。

通用注意事项

以上所有方案写入数据时仅会修改你指定的前2-3个工作表内容,第4、5个工作表的内置宏、公式、格式配置会完整保留,保存后的文件完全符合.xlsb格式规范,打开后宏与公式可正常触发自动计算。

内容的提问来源于stack exchange,提问作者bloggernext

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:54:03