簡體   English   中英

從列表中將標題讀入Excel工作表

[英]Reading headers into excel sheet , from a list

我正在創建一個導出Excel工作表的程序,並且我想使用一個列表來讀取標題( List<String> lFields ),但是由於某種原因它無法正常工作,但DateTime可以工作。

   using (Workbook workbook = new Workbook())
                {
                    Worksheet sht = workbook.Worksheets[0];
                    try
                    {
                        rowcount = 0;

                        //top headers
                        sht.Cells[rowcount, 1].Value = DBName;
                        int cols = lFields.Count() + 3;
                        sht.Cells[rowcount, cols].Value = Convert.ToString(DateTime.Now);

                        rowcount++;

                        //headers
                        for (int i = 0; i < lFields.Count(); i++)
                        {
                            sht.Cells[rowcount, i].Value = lfields[i];
                        }

                        //styling
                        sht.Rows[rowcount].Font.Name = "Calibri";
                        sht.Rows[rowcount].Font.Size = 10;
                        sht.Rows[rowcount].Font.Bold = true;
                        sht.Rows[rowcount].Font.Italic = false;
                        rowcount++;
                        sht.FreezeRows(0);

                        int RowCount = 0;

來自Microsfot支持人員: https//support.microsoft.com/zh-cn/help/306572/how-to-query-and-display-excel-data-by-using-asp-net--ado-net--和可見

您可以將Excel文件查詢為sql表,然后恢復標頭:

// Create connection string variable. Modify the "Data Source"
// parameter as appropriate for your environment.
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +
"Extended Properties=Excel 8.0;";

// Create connection object by using the preceding connection string.
OleDbConnection objConn = new OleDbConnection(sConnectionString);

// Open connection with the database.
objConn.Open();

// The code to follow uses a SQL SELECT command to display the data from the worksheet.

// Create new OleDbCommand to return data from worksheet.
OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM myRange1", objConn);

// Create new OleDbDataAdapter that is used to build a DataSet
// based on the preceding SQL SELECT statement.
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();

// Pass the Select command to the adapter.
objAdapter1.SelectCommand = objCmdSelect;

// Create new DataSet to hold information from the worksheet.
DataSet objDataset1 = new DataSet();

// Fill the DataSet with the information from the worksheet.
objAdapter1.Fill(objDataset1, "XLData");

// Bind data to DataGrid control.
DataGrid1.DataSource = objDataset1.Tables[0].DefaultView;
DataGrid1.DataBind();

// Clean up objects.
objConn.Close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM