1. 库的引用
右键项目,点击管理NuGet程序包在浏览选项卡中输入ClosedXML,点击右侧箭头进行安装。

2. API的使用
2.1 创建工作簿
1 | //新建工作簿 |
2.2 创建工作表
1 | //创建工作表 |
2.3 字体设置
1 | IXLCell a1 = worksheet.Cell("A1"); |
2.4 单元格设置
1 | //单元格设置 |
2.5 行高
1 | //行高 |
2.6 列宽
1 | //列宽 |
2.7 合并单元格
1 | //合并单元格 |
2.8 插入公式
1 | //插入公式 |
2.9 查找
1 | //查找 |
2.10 富文本
1 | //富文本 |
2.11 保存工作簿
1 | //保存工作簿 |
3. 完整代码
1 | using ClosedXML.Excel; |
4. 效果展示

5. 解决无法读取xls格式文件问题
5.1 使用Aspose.Cells免费版库进行格式转换
在NuGet包管理器中搜索并安装Aspose.Cells库
安装完成后,执行以下代码进行格式转换:
1 | Workbook workbook = new Workbook("C:\\Users\\Administrator\\Desktop\\ClosedXML_API_Test\\convertFormat.xls"); |
转换后效果如下:
存在问题:免费版会多一个水印,不过不影响使用
5.2 使用NPOI库进行内容复制
在NuGet包管理器中搜索并安装NPOI库
安装完成后,执行以下代码进行内容复制:
1 | // 读取xls格式文件 |
复制效果如下:
存在问题:
1、对于以下这种提示损坏的xls文件,NPOI和Sylvan.Data.Excel均无法打开,但Aspose.Cells可打开。
2、NPOI将xls转换为xlsx的方式并非进行格式转换,而是进行内容1:1复制,但富文本无法进行复制!
5.3 使用Sylvan.Data.Excel库进行格式转换
在NuGet包管理器中搜索并安装Sylvan.Data.Excel库
执行以下代码进行格式转换:
1 | ExcelDataReader edr = ExcelDataReader.Create("C:\\Users\\Administrator\\Desktop\\ClosedXML_API_Test\\convertFormat.xls"); |
转换效果如下:
存在问题:转换后无法保留单元格格式,仅可用于内容查询。