如何在不安装 Microsoft Office 的情况下生成 Excel 文件?
生活随笔
收集整理的這篇文章主要介紹了
如何在不安装 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 文件?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日常使用Git,这些问题你遇到过吗?
- 下一篇: 【Azure + Core】实现CI/C