我正在寻找一个可以做类似事情的图书馆:
Lib.Configure.Cells(...)
Lib.CreateExcelFileFromMyObject<MyObject>(myObject);
我相信很久以前我遇到过这样的图书馆,但不记得它的名字。
可能有人可以指出我正确的方向。
我知道两种读取或写入 excel 文件的方法。
如前所述,您可以通过此处office interop
描述的界面访问 excel 文件。这种方法很慢,但是你几乎可以做所有你可以用 excel 的 gui 做的事情。
使用OleDb数据库接口。这种可能性比第一种要快得多,但仅限于数据。据我所知,无法读取/写入格式,例如单元格的某些背景颜色。使用以下功能,您将一次获得一张 excel 文件的全部数据:
private DataSet ConnectAndLoad(string filepath, string sheet)
{
DataSet data_set = new DataSet();
OleDbConnection oledbConn = new OleDbConnection(String.Format("Provider=Microsoft.Ace.Oledb.12.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\"", filepath));
string query = "Select * From [" + sheet + "$]";
try
{
oledbConn.Open();
OleDbCommand oledbCmd = new OleDbCommand(query, oledbConn);
OleDbDataAdapter ole_da = new OleDbDataAdapter(oledbCmd);
ole_da.Fill(data_set);
}
catch (OleDbException ex)
{
// do some error catching
}
finally
{
oledbConn.Close();
}
return data_set;
}
您可以使用 Microsoft.Office.Interop 命名空间来访问 ms 产品
为此,您首先需要将该引用添加到您的项目中