创build和写入从Excel中的Excel文件

我需要从C#代码创build一个非常简单的Excel文件,我看到了下面的问题,但混淆了各种选项。 任何一个人都可以指出我最好,最简单的方法。 我需要它也运行在xls以及xlsx上。 另外我需要一个公式来根据内容为特定的列着色。

SpreadsheetGear for .NET可以从C#创build和编写xls和xlsx工作簿,并支持可用于根据单元格中的值为单元格着色的条件格式。

你可以在这里看到活的ASP.NET示例,如果你想自己试试,可以在这里下载免费试用版。

这里的代码是用0到1000之间的随机数字和一个条件格式来创build一个工作簿,这个条件格式将背景设置为蓝色,文本颜色设置为> 500的白色。 将生成的工作簿加载到Excel中(或与SpreadsheetGear试用版软件一起安装到SpreadsheetGear for Windows应用程序中),并注意按F9重新计算时会发生什么情况:

using System; using SpreadsheetGear; namespace FormatConditions { class Program { static void Main(string[] args) { // Create a new empty workbook. IWorkbook workbook = Factory.GetWorkbook(); IRange cells = workbook.Worksheets[0].Cells["A1:A5"]; // Place formulas resulting in random numbers between 0 and 1000. cells.Formula = "=RAND()*1000"; cells.NumberFormat = "0"; // Add a format condition to use blue background and white text for numbers >500. IFormatCondition fc = cells.FormatConditions.Add(FormatConditionType.CellValue, FormatConditionOperator.Greater, "500", ""); fc.Interior.Color = System.Drawing.Color.Navy; fc.Font.Color = System.Drawing.Color.White; // Save to xls and xlsx. workbook.SaveAs(@"c:\tmp\FormatConditions.xls", FileFormat.Excel8); workbook.SaveAs(@"c:\tmp\FormatConditions.xlsx", FileFormat.OpenXMLWorkbook); } } } 

免责声明:我自己的SpreadsheetGear LLC

我使用了Gembox.Spreadsheet ,发现它简单快捷。 它支持xls和xlsx,可以操作单元格样式和公式。 他们有一个免费版本,每个工作表只支持150行,每个工作簿支持5个工作表。

你是在客户端还是服务器端创build这个文件? 如果它在服务器端,你不应该使用自动化。 Aspose有一款似乎很好用的产品,我认为它被称为Aspose.Cells。 这不是免费的。

我在之前的主题中没有看到的一个选项是NPoi – http://npoi.codeplex.com/

我相信这可以让你有条件地改变细胞的颜色。

一些问题:

  • 你需要支持哪个版本的Excel?
  • 这是客户端还是服务器端?
  • Excel会安装在客户端上吗?