Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果未安装msoffice,如何在我的c应用程序中创建excel_C#_Excel - Fatal编程技术网

C# 如果未安装msoffice,如何在我的c应用程序中创建excel

C# 如果未安装msoffice,如何在我的c应用程序中创建excel,c#,excel,C#,Excel,您好,我正在创建一个应用程序,通过它我需要创建一个excel。我已经添加了MicrosoftExcel12.Object库作为应用程序的参考。但是我的服务器没有安装Msoffice。所以,我如何在该服务器中创建Excel。现在有了创建ms对象的方法,而ms Office尚未安装。 添加的库只不过是接口包装器。现在有了创建ms对象的方法,而ms Office尚未安装。 添加的库只不过是接口包装器。有许多第三方库——例如,我认为ComponentOne可以创建Excel文件,我认为至少其中一些库独立

您好,我正在创建一个应用程序,通过它我需要创建一个excel。我已经添加了MicrosoftExcel12.Object库作为应用程序的参考。但是我的服务器没有安装Msoffice。所以,我如何在该服务器中创建Excel。

现在有了创建ms对象的方法,而ms Office尚未安装。
添加的库只不过是接口包装器。

现在有了创建ms对象的方法,而ms Office尚未安装。
添加的库只不过是接口包装器。

有许多第三方库——例如,我认为ComponentOne可以创建Excel文件,我认为至少其中一些库独立于Excel,因此它们可以创建Excel文件,而无需在服务器上安装Excel


另一种解决方案是创建Excel可以读取的其他格式,例如CSV。使用CSV意味着您不会获得Excel提供的奇特格式,但至少您不需要许可第三方组件或在服务器上安装Excel。

有许多第三方库,例如ComponentOne制作的库,它们能够创建Excel文件,我认为至少有一些是独立于Excel的,所以他们可以在服务器上不安装Excel的情况下创建Excel文件

另一种解决方案是创建Excel可以读取的其他格式,例如CSV。使用CSV意味着您不会获得Excel提供的奇特格式,但至少您不需要许可第三方组件或在服务器上安装Excel。

我可以推荐使用CSV,因为它简单、功能强大,而且不需要将office/Excel与Excel 2007 spreadsheetsxlsx文件一起安装。它的许可证模式是

我可以推荐它,因为它简单、功能强大,而且不需要将office/excel与excel 2007 spreadsheetsxlsx文件一起安装。它的许可证模式是


如果您需要创建称为openxml的新office格式文档,您可以在

上看到如果您需要创建称为openxml的新office格式文档,您可以在

上看到它不再是GPL,而是LGPL。@ChristianSauer:那么Jan最近更改了它。据此编辑了我的答案。这意味着,如果我没记错的话,您不必再在应用程序中提供或链接源代码。它不再是GPL,而是LGPL。@ChristianSauer:那么Jan最近更改了它。据此编辑了我的答案。这意味着如果我没记错的话,你不必再在你的应用程序中提供或链接源代码了。
var excel = new ExcelPackage();
excel.File = new System.IO.FileInfo(@"C:\Temp\AnExcelFile.xlsx");
if (excel.File.Exists)
    excel.Load(excel.File.Open(FileMode.Open));
ExcelWorksheet ws = excel.Workbook.Worksheets.Add("Worksheet-Name");//must be unique and less than 31 characters long
ws.Cells[26, 1].LoadFromDataTable(dt, true); //loading from DataTable, the 2.Parameter is PrintHeaders
ws.Cells[26, 1].LoadFromCollection(query, true); //loading by LINQ-Query also possible
excel.Save();