从对象创建excel文件

本文关键字:文件 excel 创建 对象 | 更新日期: 2023-09-27 18:29:49

我正在寻找一个可以做这样事情的库:

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

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

也许有人能为我指明正确的方向。

从对象创建excel文件

我知道读写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;
    }
    

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

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