我需要从C#代码创建一个非常简单的excel文件,我看到了以下问题但是混淆了各种选项。任何人都可以指出我这样做的最好和最简单的方法。我需要它也可以在xls以及xlsx上运行。另外,我需要一个公式来根据内容为特定列着色。
答案 0 :(得分:2)
SpreadsheetGear for .NET可以从C#创建和编写xls和xlsx工作簿,并支持条件格式,可以根据单元格中的值为单元格着色。
如果您想亲自试用,可以查看实时ASP.NET示例here并下载免费试用here。
这是用于创建具有0到1000之间的随机数的工作簿的代码,以及用于将值设置为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
答案 1 :(得分:2)
我使用Gembox.Spreadsheet并发现它简单快捷。它支持xls和xlsx,可以操作单元格样式和公式。它们有一个免费版,每个工作表只支持150行,每个工作簿只支持5个工作表。
答案 2 :(得分:0)
您是在客户端还是服务器端创建此文件?如果它在服务器端,则不应使用自动化。 Aspose有一个似乎运行良好的产品,我认为它被称为Aspose.Cells。但它不是免费的。
答案 3 :(得分:0)
我在之前的帖子中没有看到的其中一个选项是NPoi - http://npoi.codeplex.com/
我相信这可以让你有条件地改变细胞颜色。
有些问题: