在.NET中用excel导出(概要)
生活随笔
收集整理的這篇文章主要介紹了
在.NET中用excel导出(概要)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
首先要在項(xiàng)目->添加引用->COM中添加Microsoft Office Web Components ,然后定義一個OWC.SpreadsheetClass 如:Dim xlsheet As New OWC.SpreadsheetClass 然后就可以向sheet中添加數(shù)據(jù)了,使用xlsheet.Cells(2, 2) = "表格填充內(nèi)容" 格式添加數(shù)據(jù),使用xlsheet.Range("B3:F3") 設(shè)置單元格的樣式。
?最后用xlsheet.ActiveSheet.Export(Path, OWC.SheetExportActionEnum.ssExportActionNone) 的方式將excel文件保存在硬盤上。
?這種方法優(yōu)點(diǎn)是無需系統(tǒng)權(quán)限分配,缺點(diǎn)是對于單元格的格式屬性設(shè)置不夠豐富,某些屬性無法設(shè)置或者是設(shè)置比較麻煩。
2.用Excel Application
?用這種方法之前首先要給aspnet用戶設(shè)置權(quán)限,否則程序會不能執(zhí)行的。設(shè)置權(quán)限的過程如下:
?在運(yùn)行處運(yùn)行“dcomcnfg.exe”啟動“分布式COM配置屬性”
?在應(yīng)用程序列表框中雙擊“Microsoft Excel 應(yīng)用程序”
?選擇“安全性”標(biāo)簽
?選擇“使用自定義訪問權(quán)限”單選框,點(diǎn)擊“編輯”按鈕
?添加本地“ASPNET”用戶,權(quán)限為“允許訪問”
?在“安全性”標(biāo)簽中選擇“使用自定義啟動權(quán)限”單選框,點(diǎn)擊“編輯”按鈕
?添加本地“ASPNET”用戶,權(quán)限為“允許訪問”
?以上工作在需要執(zhí)行excel導(dǎo)出的服務(wù)器上進(jìn)行一次即可。
?以后在每個工程中要選擇“項(xiàng)目->添加引用中選擇“COM”標(biāo)簽,添加“Microsoft Excel x.x Object Library”到 項(xiàng)目中,以后就可以執(zhí)行excel導(dǎo)出操作了。
?在需要導(dǎo)出的時候首先定義一下excel application、excel Workbooks、excel Worksheets變量:
Dim excelApp As Excel.Application
Dim excelBook As Excel.Workbook
Dim excelSheet As Excel.Worksheet
excelApp = New Excel.Application
excelBook = excelApp.Workbooks.Add
excelSheet = excelBook.Worksheets(1)
之后就可以將數(shù)據(jù)放入excel Sheet中了,而且可以方便的設(shè)置單元格的各個屬性參數(shù)。比如,設(shè)置行高可以用excelSheet.Rows(intRowIndex).RowHeight = dblRowHeight
用這種方法可以實(shí)現(xiàn)幾乎全部的excel功能,如果對于某個功能不知道用excel application如何實(shí)現(xiàn),可以在excel中通過“記錄宏-執(zhí)行操作-查看宏代碼”的方法得到實(shí)現(xiàn)該功能所用到的屬性和方法。
最后要將數(shù)據(jù)保存到硬盤上,只需用excelBook.SaveAs(FileName)方法即可。
這種方法的優(yōu)點(diǎn)是功能強(qiáng)大,可以實(shí)現(xiàn)幾乎所有的excel功能。缺點(diǎn)是需要權(quán)限配置,而且運(yùn)行時間比較長,占用資源比較高,結(jié)束后可能在系統(tǒng)中有殘留的EXCEL進(jìn)程。
3.直接存為文本文件
直接將數(shù)據(jù)按照html表格的格式存為文本文件,擴(kuò)展名改成xls就可以用excel打開,或者按照Office XP之后支持的xml格式,這種格式所能實(shí)現(xiàn)的功能同樣強(qiáng)大,缺點(diǎn)就是需要知道各種功能或者excel單元格格式的xml表達(dá)方法,工作量比較大。
這種方法優(yōu)點(diǎn)是不需要權(quán)限配置(只需能夠向硬盤寫文件的權(quán)限就可以),執(zhí)行速度快。缺點(diǎn)是需要知道大量的excel格式的xml或者h(yuǎn)tml表達(dá)方式,前期準(zhǔn)備工作量大。??首先要在項(xiàng)目->添加引用->COM中添加Microsoft Office Web Components ,然后定義一個OWC.SpreadsheetClass 如:Dim xlsheet As New OWC.SpreadsheetClass 然后就可以向sheet中添加數(shù)據(jù)了,使用xlsheet.Cells(2, 2) = "表格填充內(nèi)容" 格式添加數(shù)據(jù),使用xlsheet.Range("B3:F3") 設(shè)置單元格的樣式。
?最后用xlsheet.ActiveSheet.Export(Path, OWC.SheetExportActionEnum.ssExportActionNone) 的方式將excel文件保存在硬盤上。
?這種方法優(yōu)點(diǎn)是無需系統(tǒng)權(quán)限分配,缺點(diǎn)是對于單元格的格式屬性設(shè)置不夠豐富,某些屬性無法設(shè)置或者是設(shè)置比較麻煩。
2.用Excel Application
?用這種方法之前首先要給aspnet用戶設(shè)置權(quán)限,否則程序會不能執(zhí)行的。設(shè)置權(quán)限的過程如下:
?在運(yùn)行處運(yùn)行“dcomcnfg.exe”啟動“分布式COM配置屬性”
?在應(yīng)用程序列表框中雙擊“Microsoft Excel 應(yīng)用程序”
?選擇“安全性”標(biāo)簽
?選擇“使用自定義訪問權(quán)限”單選框,點(diǎn)擊“編輯”按鈕
?添加本地“ASPNET”用戶,權(quán)限為“允許訪問”
?在“安全性”標(biāo)簽中選擇“使用自定義啟動權(quán)限”單選框,點(diǎn)擊“編輯”按鈕
?添加本地“ASPNET”用戶,權(quán)限為“允許訪問”
?以上工作在需要執(zhí)行excel導(dǎo)出的服務(wù)器上進(jìn)行一次即可。
?以后在每個工程中要選擇“項(xiàng)目->添加引用中選擇“COM”標(biāo)簽,添加“Microsoft Excel x.x Object Library”到 項(xiàng)目中,以后就可以執(zhí)行excel導(dǎo)出操作了。
?在需要導(dǎo)出的時候首先定義一下excel application、excel Workbooks、excel Worksheets變量:
Dim excelApp As Excel.Application
Dim excelBook As Excel.Workbook
Dim excelSheet As Excel.Worksheet
excelApp = New Excel.Application
excelBook = excelApp.Workbooks.Add
excelSheet = excelBook.Worksheets(1)
之后就可以將數(shù)據(jù)放入excel Sheet中了,而且可以方便的設(shè)置單元格的各個屬性參數(shù)。比如,設(shè)置行高可以用excelSheet.Rows(intRowIndex).RowHeight = dblRowHeight
用這種方法可以實(shí)現(xiàn)幾乎全部的excel功能,如果對于某個功能不知道用excel application如何實(shí)現(xiàn),可以在excel中通過“記錄宏-執(zhí)行操作-查看宏代碼”的方法得到實(shí)現(xiàn)該功能所用到的屬性和方法。
最后要將數(shù)據(jù)保存到硬盤上,只需用excelBook.SaveAs(FileName)方法即可。
這種方法的優(yōu)點(diǎn)是功能強(qiáng)大,可以實(shí)現(xiàn)幾乎所有的excel功能。缺點(diǎn)是需要權(quán)限配置,而且運(yùn)行時間比較長,占用資源比較高,結(jié)束后可能在系統(tǒng)中有殘留的EXCEL進(jìn)程。
3.直接存為文本文件
直接將數(shù)據(jù)按照html表格的格式存為文本文件,擴(kuò)展名改成xls就可以用excel打開,或者按照Office XP之后支持的xml格式,這種格式所能實(shí)現(xiàn)的功能同樣強(qiáng)大,缺點(diǎn)就是需要知道各種功能或者excel單元格格式的xml表達(dá)方法,工作量比較大。
這種方法優(yōu)點(diǎn)是不需要權(quán)限配置(只需能夠向硬盤寫文件的權(quán)限就可以),執(zhí)行速度快。缺點(diǎn)是需要知道大量的excel格式的xml或者h(yuǎn)tml表達(dá)方式,前期準(zhǔn)備工作量大。
?最后用xlsheet.ActiveSheet.Export(Path, OWC.SheetExportActionEnum.ssExportActionNone) 的方式將excel文件保存在硬盤上。
?這種方法優(yōu)點(diǎn)是無需系統(tǒng)權(quán)限分配,缺點(diǎn)是對于單元格的格式屬性設(shè)置不夠豐富,某些屬性無法設(shè)置或者是設(shè)置比較麻煩。
2.用Excel Application
?用這種方法之前首先要給aspnet用戶設(shè)置權(quán)限,否則程序會不能執(zhí)行的。設(shè)置權(quán)限的過程如下:
?在運(yùn)行處運(yùn)行“dcomcnfg.exe”啟動“分布式COM配置屬性”
?在應(yīng)用程序列表框中雙擊“Microsoft Excel 應(yīng)用程序”
?選擇“安全性”標(biāo)簽
?選擇“使用自定義訪問權(quán)限”單選框,點(diǎn)擊“編輯”按鈕
?添加本地“ASPNET”用戶,權(quán)限為“允許訪問”
?在“安全性”標(biāo)簽中選擇“使用自定義啟動權(quán)限”單選框,點(diǎn)擊“編輯”按鈕
?添加本地“ASPNET”用戶,權(quán)限為“允許訪問”
?以上工作在需要執(zhí)行excel導(dǎo)出的服務(wù)器上進(jìn)行一次即可。
?以后在每個工程中要選擇“項(xiàng)目->添加引用中選擇“COM”標(biāo)簽,添加“Microsoft Excel x.x Object Library”到 項(xiàng)目中,以后就可以執(zhí)行excel導(dǎo)出操作了。
?在需要導(dǎo)出的時候首先定義一下excel application、excel Workbooks、excel Worksheets變量:
Dim excelApp As Excel.Application
Dim excelBook As Excel.Workbook
Dim excelSheet As Excel.Worksheet
excelApp = New Excel.Application
excelBook = excelApp.Workbooks.Add
excelSheet = excelBook.Worksheets(1)
之后就可以將數(shù)據(jù)放入excel Sheet中了,而且可以方便的設(shè)置單元格的各個屬性參數(shù)。比如,設(shè)置行高可以用excelSheet.Rows(intRowIndex).RowHeight = dblRowHeight
用這種方法可以實(shí)現(xiàn)幾乎全部的excel功能,如果對于某個功能不知道用excel application如何實(shí)現(xiàn),可以在excel中通過“記錄宏-執(zhí)行操作-查看宏代碼”的方法得到實(shí)現(xiàn)該功能所用到的屬性和方法。
最后要將數(shù)據(jù)保存到硬盤上,只需用excelBook.SaveAs(FileName)方法即可。
這種方法的優(yōu)點(diǎn)是功能強(qiáng)大,可以實(shí)現(xiàn)幾乎所有的excel功能。缺點(diǎn)是需要權(quán)限配置,而且運(yùn)行時間比較長,占用資源比較高,結(jié)束后可能在系統(tǒng)中有殘留的EXCEL進(jìn)程。
3.直接存為文本文件
直接將數(shù)據(jù)按照html表格的格式存為文本文件,擴(kuò)展名改成xls就可以用excel打開,或者按照Office XP之后支持的xml格式,這種格式所能實(shí)現(xiàn)的功能同樣強(qiáng)大,缺點(diǎn)就是需要知道各種功能或者excel單元格格式的xml表達(dá)方法,工作量比較大。
這種方法優(yōu)點(diǎn)是不需要權(quán)限配置(只需能夠向硬盤寫文件的權(quán)限就可以),執(zhí)行速度快。缺點(diǎn)是需要知道大量的excel格式的xml或者h(yuǎn)tml表達(dá)方式,前期準(zhǔn)備工作量大。??首先要在項(xiàng)目->添加引用->COM中添加Microsoft Office Web Components ,然后定義一個OWC.SpreadsheetClass 如:Dim xlsheet As New OWC.SpreadsheetClass 然后就可以向sheet中添加數(shù)據(jù)了,使用xlsheet.Cells(2, 2) = "表格填充內(nèi)容" 格式添加數(shù)據(jù),使用xlsheet.Range("B3:F3") 設(shè)置單元格的樣式。
?最后用xlsheet.ActiveSheet.Export(Path, OWC.SheetExportActionEnum.ssExportActionNone) 的方式將excel文件保存在硬盤上。
?這種方法優(yōu)點(diǎn)是無需系統(tǒng)權(quán)限分配,缺點(diǎn)是對于單元格的格式屬性設(shè)置不夠豐富,某些屬性無法設(shè)置或者是設(shè)置比較麻煩。
2.用Excel Application
?用這種方法之前首先要給aspnet用戶設(shè)置權(quán)限,否則程序會不能執(zhí)行的。設(shè)置權(quán)限的過程如下:
?在運(yùn)行處運(yùn)行“dcomcnfg.exe”啟動“分布式COM配置屬性”
?在應(yīng)用程序列表框中雙擊“Microsoft Excel 應(yīng)用程序”
?選擇“安全性”標(biāo)簽
?選擇“使用自定義訪問權(quán)限”單選框,點(diǎn)擊“編輯”按鈕
?添加本地“ASPNET”用戶,權(quán)限為“允許訪問”
?在“安全性”標(biāo)簽中選擇“使用自定義啟動權(quán)限”單選框,點(diǎn)擊“編輯”按鈕
?添加本地“ASPNET”用戶,權(quán)限為“允許訪問”
?以上工作在需要執(zhí)行excel導(dǎo)出的服務(wù)器上進(jìn)行一次即可。
?以后在每個工程中要選擇“項(xiàng)目->添加引用中選擇“COM”標(biāo)簽,添加“Microsoft Excel x.x Object Library”到 項(xiàng)目中,以后就可以執(zhí)行excel導(dǎo)出操作了。
?在需要導(dǎo)出的時候首先定義一下excel application、excel Workbooks、excel Worksheets變量:
Dim excelApp As Excel.Application
Dim excelBook As Excel.Workbook
Dim excelSheet As Excel.Worksheet
excelApp = New Excel.Application
excelBook = excelApp.Workbooks.Add
excelSheet = excelBook.Worksheets(1)
之后就可以將數(shù)據(jù)放入excel Sheet中了,而且可以方便的設(shè)置單元格的各個屬性參數(shù)。比如,設(shè)置行高可以用excelSheet.Rows(intRowIndex).RowHeight = dblRowHeight
用這種方法可以實(shí)現(xiàn)幾乎全部的excel功能,如果對于某個功能不知道用excel application如何實(shí)現(xiàn),可以在excel中通過“記錄宏-執(zhí)行操作-查看宏代碼”的方法得到實(shí)現(xiàn)該功能所用到的屬性和方法。
最后要將數(shù)據(jù)保存到硬盤上,只需用excelBook.SaveAs(FileName)方法即可。
這種方法的優(yōu)點(diǎn)是功能強(qiáng)大,可以實(shí)現(xiàn)幾乎所有的excel功能。缺點(diǎn)是需要權(quán)限配置,而且運(yùn)行時間比較長,占用資源比較高,結(jié)束后可能在系統(tǒng)中有殘留的EXCEL進(jìn)程。
3.直接存為文本文件
直接將數(shù)據(jù)按照html表格的格式存為文本文件,擴(kuò)展名改成xls就可以用excel打開,或者按照Office XP之后支持的xml格式,這種格式所能實(shí)現(xiàn)的功能同樣強(qiáng)大,缺點(diǎn)就是需要知道各種功能或者excel單元格格式的xml表達(dá)方法,工作量比較大。
這種方法優(yōu)點(diǎn)是不需要權(quán)限配置(只需能夠向硬盤寫文件的權(quán)限就可以),執(zhí)行速度快。缺點(diǎn)是需要知道大量的excel格式的xml或者h(yuǎn)tml表達(dá)方式,前期準(zhǔn)備工作量大。
轉(zhuǎn)載于:https://www.cnblogs.com/shf/archive/2007/12/14/994700.html
總結(jié)
以上是生活随笔為你收集整理的在.NET中用excel导出(概要)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GenXus学习笔记——Transact
- 下一篇: 关于GeneXus封装方法Model的方