如何在不安装 Microsoft Office 的情况下生成 Excel 文件?
咨询区
mistrmark:
我的一个项目中有导出 excel 的功能,但我发现运行代码的机器上一定要安装 Excel,否则就找不到 Microsoft.Office.Interop.Excel
,导致运行报错,请问如何解决?
回答区
Mike Webb:
你可以在 nuget 上找一下 ExcelLibrary
包,它是免费开源的,参考如下代码:
//Create the data set and table
DataSet ds = new DataSet("New_DataSet");
DataTable dt = new DataTable("New_DataTable");//Set the locale for each
ds.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
dt.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;//Open a DB connection (in this example with OleDB)
OleDbConnection con = new OleDbConnection(dbConnectionString);
con.Open();//Create a query and fill the data table with the data from the DB
string sql = "SELECT Whatever FROM MyDBTable;";
OleDbCommand cmd = new OleDbCommand(sql, con);
OleDbDataAdapter adptr = new OleDbDataAdapter();adptr.SelectCommand = cmd;
adptr.Fill(dt);
con.Close();//Add the table to the data set
ds.Tables.Add(dt);//Here's the easy part. Create the Excel worksheet from the data set
ExcelLibrary.DataSetHelper.CreateWorkbook("MyExcelFile.xls", ds);
除了 ExcelLibrary 之外,还有一些其他工具包:
EPPlus
NPOI
Sogger:
大家觉得用 Open XML SDK 2.0
怎么样?
它的好处:
不需要安装 Office。
由 Microsoft 打造,有正统的 MSDN 文档。
只需要引用一个 dll 即可。
SDK附带了很多工具,比如:diff,validator 等等。
Jan Källman:
如果你倾向于生成 xlsx 格式的excel,可以试试github上的 EPPlus
,它是从 ExcelPackage 上发展而来的,发展到今天已经完全重写了,它支持 范围,单元格样式,图标,图形,图片,自动过滤 等等其他一些实用功能。
点评区
说实话,前段时间在调试一个老项目时还真遇到了这种情况,真是太坑了,看样子得参考几位大佬提到的sdk重写,个人推荐 EPPlus。
如何在不安装 Microsoft Office 的情况下生成 Excel 文件?相关推荐
- 如何在不安装Microsoft Office的情况下用C#创建Excel(.XLS和.XLSX)文件?
如何在不使用运行代码的计算机上安装Excel的情况下使用C#创建Excel电子表格? #1楼 我成功地使用了以下开源项目: OOXML格式的ExcelPackage(Office 2007) .XLS ...
- mariadb 卸载 Kali_为您
win7系统卸载和安装Microsoft office 2003办公软件的操作办法
-win7系统使用教程...
电脑就好似汽车一样,在使用的时候需要采用正确的操作方法,有的时候会有win7系统卸载和安装Microsoft office 2003办公软件的情况需要我们处理,相信很多朋友是人生中第一次碰到win7系 ...
- linux系统可以安装office吗,我可以安装Microsoft Office吗?如果是这样,怎么样?
问题描述 我想知道如何在Ubuntu中安装Microsoft Office(特别是Microsoft Office 2010)? 我是MS Office的忠实粉丝,我想知道我是否可以在Ubuntu中使 ...
- 无需安装Microsoft Office和Adobe实现办公文档操作,Spire.Office免费资源清单一览
作为一个独立的 Office 组件,Free Spire.Office 的运行环境无需安装 Microsoft Office 及其他第三方软件.基于安全性.稳定性.可扩展性.效率及价格方面的考虑,Sp ...
- Ubuntu安装Microsoft office
只用ubuntu的朋友可能都会遇到一个问题,ubuntu下虽然有相当优秀的office软件,如LibreOffice.WPS Office等.但与windows下Microsoft office相比还 ...
- 如何安装 Microsoft Office 兼容包,以便能够使用早期版本的 Excel、PowerPoint 和 Word 来打开和保存来自 2007 Office 程序的文件
如何安装 Microsoft Office 兼容包,以便能够使用早期版本的 Excel.PowerPoint 和 Word 来打开和保存来自 2007 Office 程序的文件 察看本文应用于的产品 ...
- 安装Microsoft office遇到的不支持从预发版Microsoft Office 2010问题
最近要用Visio画图,不过在安装Microsoft office 2010时遇到了一个问题,安装的时候总是提示" 提示不支持从预发版Microsoft Office 2010", ...
- office2010安装Microsoft Office Document Imaging (MODI)
原文地址为: office2010安装Microsoft Office Document Imaging (MODI) Microsoft Office 2010 中删除了 Microsoft Off ...
- win10电脑上安装microsoft office 2007提示0x80070543
win10电脑上安装microsoft office 2007安装失败,正在回滚 ,提示0x80070543 操作以下步骤后可以正常安装上去了 单击" 开始",单击 "运 ...
最新文章
- Memcached安装以及PHP的调用
- kafaka使用 消息队列_Java使用消息队列还是直接使用线程池ExecutorService异步处理?...
- AWARD BIOS设置详解
- 谷歌年度AI技术总结来了!Jeff Dean执笔,附赠27个开源工具和数据大礼包
- 关于计算机专业学习的四点浅谈
- iPhone常用设置
- 八周二次课 rsync工具介绍,常用参数选项以及和ssh同步
- flot中文API(转载)
- 手机qq显示鸿蒙在线,手机QQ显示对方朋友网络状态是“手机在线”是什么意思,明明对方是WiFi在线,怎么显示的是手机在线...
- RobotFramework自动化框架—数据驱动测试
- 020-Spring Boot 监控和度量
- 对于Python函数与方法,你可能存在些误解
- CSDN博客排名20000以后的用户怎么查询具体排名
- Springboot中使用websocket发送信息给指定用户和群发
- java将所有的字符串转换为大写或小写
- 高级政工师具备的能力_环境污染治理能力评价资质标准【广东资质申报专家】...
- Linux 主要目录速查表
- Qt Creator 启动失败 可能的解决办法
- “金三银四” “金九银十”是找工作的好时期吗?疫情下的招聘季还会是金三银四、金九银十吗?
- keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!