ASP.NET 匯出EXCEL

來源:互聯網
上載者:User
採用.Net Excel組件匯出 EXCEL檔案,

/// <summary>
        /// 匯出Excel
        /// </summary>
        /// <param name="source">需要匯出的資料</param>
        /// <param name="exportFullPath">匯出Excel檔案的全路徑</param>
        /// <param name="hasHeadline">如果 true則產生表頭 </param>
        private void ExportExcel(DataTable source, string exportFullPath, bool hasHeadline)
        {
            

            #region 採用.Net Excel組件匯出

            Application objExcel = new Application();
            if (objExcel == null)
            {
                throw new Exception("ERROR: You must install Microsoft Excel Application!");
            }

            //建立一個Excel檔案(未儲存,無檔案名稱)
            Workbooks objWorkbooks = objExcel.Workbooks;
            _Workbook objWorkbook = objWorkbooks.Add(XlWBATemplate.xlWBATWorksheet); //預設建立sheet1

            //取得Sheet1
            Sheets objSheets = objWorkbook.Worksheets;
            _Worksheet objWorksheet = (_Worksheet)objSheets.get_Item(1);

            //寫入標題
            int intDataBeginRow = 1;
            if (hasHeadline)
            {
                for (int i = 0; i < source.Columns.Count; i++)
                {
                    objWorksheet.Cells[1, i + 1] = source.Columns[i].ColumnName.Trim();
                }

                //資料起始行加1
                intDataBeginRow++;
            }

            //寫入資料,Excel的索引是從1開始的
            for (int j = 0; j < source.Rows.Count; j++)
            {
                for (int k = 0; k < source.Columns.Count; k++)
                {
                    objWorksheet.Cells[j + intDataBeginRow, k + 1] = source.Rows[j][k].ToString();
                }
            }
            objWorksheet.Hyperlinks.Delete(); //去掉超鏈

            //儲存檔案(如果使用objWorkbook.SaveAs將不相容excel2000,excelxp)
            objWorkbook._SaveAs(exportFullPath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

            //關閉檔案,釋放資源
            objWorkbook.Close(false, exportFullPath, false);
            objExcel = null;

            #endregion
        }

直接調用ExportExcel 即可

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.