如何将DataTable的内容导出成Excel并保存到Web服务器端

时间:2021-11-12 17:49:05
如何将DataTable的内容导出成Excel并保存到Web服务器端。

类似于:


        Microsoft.Office.Interop.Excel.QueryTables m_objQryTables = null;
        Microsoft.Office.Interop.Excel.QueryTable m_objQryTable = null;
        Microsoft.Office.Interop.Excel.Application m_objExcel = null;
        Microsoft.Office.Interop.Excel.Workbook m_objBook = null;
        Microsoft.Office.Interop.Excel.Sheets m_objSheets = null;
        Microsoft.Office.Interop.Excel.Worksheet m_objSheet = null;
        Microsoft.Office.Interop.Excel.Range m_objRange = null;
        m_objExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();

        m_objBook = m_objExcel.Workbooks.Add(1);

        m_objSheets = (Microsoft.Office.Interop.Excel.Sheets)m_objBook.Worksheets;
        m_objSheet = (Microsoft.Office.Interop.Excel.Worksheet)m_objSheets.get_Item(1);
        m_objRange = m_objSheet.get_Range("A1", Type.Missing);
        m_objQryTables = m_objSheet.QueryTables;

        SqlConn sqlcon = new SqlConn();
        string conn = "Provider=SQLOLEDB.1;" + sqlcon.GetConnString(sys);
        
        m_objQryTable = (Microsoft.Office.Interop.Excel.QueryTable)m_objQryTables.Add("OLEDB;" + conn, m_objRange, sqlstr);

        m_objQryTable.RefreshStyle = Microsoft.Office.Interop.Excel.XlCellInsertionMode.xlInsertEntireRows;

        m_objQryTable.Refresh(false);

        m_objExcel.DisplayAlerts = false;
        m_objBook.Saved = true;

        m_objBook.SaveAs(str_path, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
        m_objBook.Close(false, Type.Missing, false);
        m_objExcel.Quit();

不过这个是通过Sql直接查询导出的,请问如何实现呢?
感谢。。。

3 个解决方案

#1


网上搜有很多,datatable转Excel的方法

#2


http://www.cnblogs.com/moonache/p/5193157.html

#3


NPOI例子很多

#1


网上搜有很多,datatable转Excel的方法

#2


http://www.cnblogs.com/moonache/p/5193157.html

#3


NPOI例子很多