读写Excel文件C#
是否有任何易于实现的库可用于读取excel文件并在以后创建它们? 这是我最好的选择吗读写Excel文件C#,c#,excel,C#,Excel,是否有任何易于实现的库可用于读取excel文件并在以后创建它们? 这是我最好的选择吗 我曾经效力的一家公司对此进行了大量研究,并认为软工匠的产品是他们最好的选择: 我总是觉得奇怪,对Excel阅读和写作的支持是多么薄弱。我敢肯定,如果您使用Microsoft的库,您必须安装Excel,这与OfficeWriter一样是一笔额外的费用。您可以选择VBA,也可以使用Microsoft的免费库。如果您计划购买一些商业解决方案,我建议您使用excel package plus: 虽然只适用于xlsx
我曾经效力的一家公司对此进行了大量研究,并认为软工匠的产品是他们最好的选择:
我总是觉得奇怪,对Excel阅读和写作的支持是多么薄弱。我敢肯定,如果您使用Microsoft的库,您必须安装Excel,这与OfficeWriter一样是一笔额外的费用。您可以选择VBA,也可以使用Microsoft的免费库。如果您计划购买一些商业解决方案,我建议您使用excel package plus:
虽然只适用于xlsx,但Office 2003仍在循环使用。如果您愿意使用更高版本的Excel(2007+),也可以查看。它是免费的,不会将您与在运行它的机器上安装MS Office捆绑在一起,并且有很多关于如何在线使用它的资源() 根据需要,您需要包括对Microsoft Excel 12.0对象库的引用。从这里开始,您需要做一些事情来打开文件。网站上有一个代码示例
PS-抱歉,内容不太详细,但我找不到更多详细信息的Microsoft Office developer参考资料。我使用了ExcelLibrary,结果非常好!(到目前为止,它支持Excel 2003或更低版本) 试试这个: EPPlus是一个.net库,用于读取和写入Excel 2007/2010文件 使用OpenOfficeXML格式(xlsx) 您可以使用,尽管它仅适用于2003格式的.xls 本项目的目标是提供一个本机.NET解决方案,以便在不使用COM互操作或OLEDB连接的情况下创建、读取和修改Excel文件 我有机会使用,它非常棒:),它适用于2007/2010年使用的新excel格式.xlsx EPPlus是一个.net库,您可以读取和写入excel文件,创建图表、图片、形状。。。还有更多
再看看这个我已经使用了oledb、interop,并且刚刚开始使用Epplus。到目前为止,ePlus被证明是最简单的。 然而,我刚刚发布了一个关于epplus的问题,但是我发布了一些代码,您可以将其用作参考 我喜欢用它来阅读,用它来写作 下面是一个用它阅读的例子:
FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
// Reading from a binary Excel file ('97-2003 format; *.xls)
// IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
// Reading from a OpenXml Excel file (2007 format; *.xlsx)
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
// DataSet - The result of each spreadsheet will be created in the result.Tables
DataSet result = excelReader.AsDataSet();
// Free resources (IExcelDataReader is IDisposable)
excelReader.Close();
var cdm = new ValueSetRepository();
for (int i = 0; i < result.Tables.Count; i++)
{
// CHECK if tableNames filtering is specified
if (tableNames != null)
{
// CHECK if a table matches the specified tablenames
var tablename = result.Tables[i].TableName;
if (!tableNames.Contains(tablename))
{
continue;
}
}
var lookup = new ValueSetLookup();
lookup.CmsId = result.Tables[i].Rows[2][0].ToString();
lookup.NqfNumber = result.Tables[i].Rows[2][1].ToString();
lookup.Data = new List<ValueSetAttribute>();
int row_no = 2;
while (row_no < result.Tables[i].Rows.Count) // i is the index of table
// (sheet name) which you want to convert to csv
{
var currRow = result.Tables[i].Rows[row_no];
var valueSetAttribute = new ValueSetAttribute()
{
Id = currRow[0].ToString(),
Number = currRow[1].ToString(),
tName = currRow[2].ToString(),
Code = currRow[7].ToString(),
Description = currRow[8].ToString(),
};
lookup.Data.Add(valueSetAttribute);
row_no++;
}
cdm.AddRecord(lookup);
FileStream-stream=File.Open(filePath,FileMode.Open,FileAccess.Read);
//从二进制Excel文件读取('97-2003格式;*.xls)
//IExcelDataReader excelReader=ExcelReaderFactory.CreateBaryReader(流);
//从OpenXml Excel文件读取(2007格式;*.xlsx)
IExcelDataReader excelReader=ExcelReaderFactory.CreateOpenXmlReader(流);
//数据集-将在result.Tables中创建每个电子表格的结果
数据集结果=excelReader.AsDataSet();
//免费资源(IEExcelDataReader可IDisposable)
excelReader.Close();
var cdm=新的ValueSetRepository();
for(int i=0;i
是的,存在多个开源库来帮助使用C#读取和/或编写Excel电子表格
以下是C#库的短名单:
维护最新的策划名单
示例:使用ExcelMapper读取Excel文件
a、 通过在NuGet数据包管理器中运行以下命令,使用NuGet安装:
Install-Package ExcelMapper
b、 ExcelMapper的C#代码示例
public void ReadExcelUsingExcelMapperExtension()
{
string filePath = @"C:\Temp\ListOfPeople.xlsx";
var people = new ExcelMapper(filePath).Fetch<Person>().ToList();
}
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
public void readExcelUsingExcelApperextension()
{
字符串文件路径=@“C:\Temp\ListOfPeople.xlsx”;
var people=new ExcelMapper(filePath).Fetch().ToList();
}
公共阶层人士
{
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共整数{get;set;}
}
免责声明:我喜欢ExcelMapper的简洁性,因此包含了此软件包的示例代码。要使用其他库执行相同操作,需要更多的代码。可能重复“是”,如果您希望完全能够读取和编辑Excel文件,自动化界面可能是您的最佳选择。根据您想要执行的操作,有时可能会出现错误简单的CSV文件可以使用。Excel将很容易地吸收这些内容。但这将用于创建Excel文件…您提到的问题是读取Excel文件…自动化界面…学习和使用起来很复杂(完整)