咨询区

  • 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 之外,还有一些其他工具包:

  1. EPPlus

  2. NPOI

  • Sogger

大家觉得用 Open XML SDK 2.0 怎么样?

它的好处:

  1. 不需要安装 Office。

  2. 由 Microsoft 打造,有正统的 MSDN 文档。

  3. 只需要引用一个 dll 即可。

  4. SDK附带了很多工具,比如:diff,validator 等等。

  • Jan Källman

如果你倾向于生成 xlsx 格式的excel,可以试试github上的 EPPlus,它是从 ExcelPackage 上发展而来的,发展到今天已经完全重写了,它支持 范围,单元格样式,图标,图形,图片,自动过滤 等等其他一些实用功能。

点评区

说实话,前段时间在调试一个老项目时还真遇到了这种情况,真是太坑了,看样子得参考几位大佬提到的sdk重写,个人推荐 EPPlus。

如何在不安装 Microsoft Office 的情况下生成 Excel 文件?相关推荐

  1. 如何在不安装Microsoft Office的情况下用C#创建Excel(.XLS和.XLSX)文件?

    如何在不使用运行代码的计算机上安装Excel的情况下使用C#创建Excel电子表格? #1楼 我成功地使用了以下开源项目: OOXML格式的ExcelPackage(Office 2007) .XLS ...

  2. mariadb 卸载 Kali_为您 win7系统卸载和安装Microsoft office 2003办公软件的操作办法 -win7系统使用教程...

    电脑就好似汽车一样,在使用的时候需要采用正确的操作方法,有的时候会有win7系统卸载和安装Microsoft office 2003办公软件的情况需要我们处理,相信很多朋友是人生中第一次碰到win7系 ...

  3. linux系统可以安装office吗,我可以安装Microsoft Office吗?如果是这样,怎么样?

    问题描述 我想知道如何在Ubuntu中安装Microsoft Office(特别是Microsoft Office 2010)? 我是MS Office的忠实粉丝,我想知道我是否可以在Ubuntu中使 ...

  4. 无需安装Microsoft Office和Adobe实现办公文档操作,Spire.Office免费资源清单一览

    作为一个独立的 Office 组件,Free Spire.Office 的运行环境无需安装 Microsoft Office 及其他第三方软件.基于安全性.稳定性.可扩展性.效率及价格方面的考虑,Sp ...

  5. Ubuntu安装Microsoft office

    只用ubuntu的朋友可能都会遇到一个问题,ubuntu下虽然有相当优秀的office软件,如LibreOffice.WPS Office等.但与windows下Microsoft office相比还 ...

  6. 如何安装 Microsoft Office 兼容包,以便能够使用早期版本的 Excel、PowerPoint 和 Word 来打开和保存来自 2007 Office 程序的文件

    如何安装 Microsoft Office 兼容包,以便能够使用早期版本的 Excel.PowerPoint 和 Word 来打开和保存来自 2007 Office 程序的文件 察看本文应用于的产品 ...

  7. 安装Microsoft office遇到的不支持从预发版Microsoft Office 2010问题

    最近要用Visio画图,不过在安装Microsoft office 2010时遇到了一个问题,安装的时候总是提示" 提示不支持从预发版Microsoft Office 2010", ...

  8. office2010安装Microsoft Office Document Imaging (MODI)

    原文地址为: office2010安装Microsoft Office Document Imaging (MODI) Microsoft Office 2010 中删除了 Microsoft Off ...

  9. win10电脑上安装microsoft office 2007提示0x80070543

    win10电脑上安装microsoft office 2007安装失败,正在回滚 ,提示0x80070543 操作以下步骤后可以正常安装上去了 单击" 开始",单击 "运 ...

最新文章

  1. Memcached安装以及PHP的调用
  2. kafaka使用 消息队列_Java使用消息队列还是直接使用线程池ExecutorService异步处理?...
  3. AWARD BIOS设置详解
  4. 谷歌年度AI技术总结来了!Jeff Dean执笔,附赠27个开源工具和数据大礼包
  5. 关于计算机专业学习的四点浅谈
  6. iPhone常用设置
  7. 八周二次课 rsync工具介绍,常用参数选项以及和ssh同步
  8. flot中文API(转载)
  9. 手机qq显示鸿蒙在线,手机QQ显示对方朋友网络状态是“手机在线”是什么意思,明明对方是WiFi在线,怎么显示的是手机在线...
  10. RobotFramework自动化框架—数据驱动测试
  11. 020-Spring Boot 监控和度量
  12. 对于Python函数与方法,你可能存在些误解
  13. CSDN博客排名20000以后的用户怎么查询具体排名
  14. Springboot中使用websocket发送信息给指定用户和群发
  15. java将所有的字符串转换为大写或小写
  16. 高级政工师具备的能力_环境污染治理能力评价资质标准【广东资质申报专家】...
  17. Linux 主要目录速查表
  18. Qt Creator 启动失败 可能的解决办法
  19. “金三银四” “金九银十”是找工作的好时期吗?疫情下的招聘季还会是金三银四、金九银十吗?
  20. keepalived实现mycat高可用问题排查;道路坎坷,布满荆棘,定让你大吃一惊!

热门文章

  1. 算法学习笔记(三)-----各种基础排序问题
  2. 【转载】负数的二进制
  3. STM32的FLASH ID加密
  4. Python第一天学习---基础语法
  5. Axure RP使用攻略--动态面板的用途(8)
  6. Map 遍历取值及jstl的取值
  7. 补作业:随机生成二元四则运算
  8. 三种查看SqlServer中数据物理pge页的方法
  9. CentOS 安装jdk1.7 64位
  10. Eclipse设定文件的默认打开方式