-1

我正在寻找一个可以做类似事情的图书馆:

Lib.Configure.Cells(...)
Lib.CreateExcelFileFromMyObject<MyObject>(myObject);

我相信很久以前我遇到过这样的图书馆,但不记得它的名字。

可能有人可以指出我正确的方向。

4

2 回答 2

0

我知道两种读取或写入 excel 文件的方法。

  1. 如前所述,您可以通过此处office interop描述的界面访问 excel 文件。这种方法很慢,但是你几乎可以做所有你可以用 excel 的 gui 做的事情。

  2. 使用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;
    }
    
于 2013-08-30T13:40:45.277 回答
-2

您可以使用 Microsoft.Office.Interop 命名空间来访问 ms 产品

为此,您首先需要将该引用添加到您的项目中

于 2013-08-30T13:14:12.433 回答