没有合适的资源?快使用搜索试试~ 我知道了~
C#导出Excel源码和c#中openfiledialog的使用
3星 · 超过75%的资源 需积分: 49 35 下载量 151 浏览量
2012-06-20
09:43:23
上传
评论
收藏 27KB DOCX 举报
温馨提示
试读
11页
C#导出Excel源码和c#中openfiledialog的使用,自己找的资料,没有需要的不需要下载
资源推荐
资源详情
资源评论
1. namespaceExportToExcel
2. {
3. usingSystem;
4. usingSystem.Data;
5. usingSystem.Data.SqlClient;
6. usingSystem.Windows.Forms;
7. usingSystem.Runtime.InteropServices;
8.
9.
10. publicclassExcelManager:IDisposable
11. {
12. Excel.Rangem_objRange=null;
13. Excel.Applicationm_objExcel=null;
14. Excel.Workbooksm_objBooks=null;
15. Excel._Workbookm_objBook=null;
16. Excel.Sheetsm_objSheets=null;
17. Excel._Worksheetm_objSheet=null;
18. Excel.QueryTablem_objQryTable=null;
19. objectm_objOpt=System.Reflection.Missing.Value;
20. //DataBase-usedvariable
21. privateSystem.Data.SqlClient.SqlConnectionsqlConn=null;
22. privatestringstrConnect=string.Empty;
23. privateSystem.Data.SqlClient.SqlCommandsqlCmd=null;
24.
25. //Sheetsvariable
26. privatedoubledbSheetSize=65535;//thehightlimitnumber
inonesheet
27. privateintintSheetTotalSize=0;//totalrecordcandivied
sheetnumber
28. privatedoubledbTotalSize=0;//recordtotalnumber
29.
30.
31. ///<summary>
32. ///建构函数
33. ///</summary>
34. publicExcelManager(){}
35.
36. ///<summary>
37. ///建构函数
38. ///</summary>
39. ///<paramname="dbHL">一个 Excel 表格的最大记录数</param>
40. ///<paramname="dbTotal">该数据库表共查询出多少条记录</param>
41. ///<paramname="intDivide">查询出的记录可分成几个 Excel</
param>
42. ///<paramname="conn">sqlConnection</param>
43. publicExcelManager(DoubledbHL,DoubledbTotal,intintDivid
e,SqlConnectionconn)
44. {
45. dbSheetSize=dbHL;
46. intSheetTotalSize=intDivide;
47. dbTotalSize=dbTotal;
48. sqlConn=conn;
49. }
50. ///<summary>
51. ///建构函数
52. ///</summary>
53. ///<paramname="dbHL">一个 Excel 表格的最大记录数</param>
54. ///<paramname="strTableName">需查询的数据库的表名</param>
55. ///<paramname="conn">sqlConnection</param>
56. publicExcelManager(DoubledbHL,stringstrTableName,SqlConn
ectionconn)
57. {
58. dbSheetSize=dbHL;
59. sqlConn=conn;
60. intSheetTotalSize=GetTotalSize(strTableName,sqlConn);
61. }
62.
63. publicvoidDispose()
64. {
65. Dispose(true);
66. GC.SuppressFinalize(this);
67. }
68. privatevoidDispose(booldisposing)
69. {
70. if(disposing)
71. {
72. //Disposemanagedresources.
73. Marshal.FinalReleaseComObject(m_objExcel);
74. m_objRange=null;
75. m_objSheet=null;
76. m_objSheets=null;
77. m_objBooks=null;
78. m_objBook=null;
79. m_objExcel=null;
80. }
81. }
82. ///<summary>
83. ///取得总记录数跟可分成几个 Excelsheet.
84. ///</summary>
85. ///<paramname="strTableName">被查询的数据库的表名</param>
86. ///<paramname="sqlConn">sqlConnection</param>
87. ///<returns>可分成 ExcelSheet 的个数</returns>
88. privateintGetTotalSize(stringstrTableName,SqlConnection
sqlConn)
89. {
90. //sqlConn=newSystem.Data.SqlClient.SqlConnection(str
Connect);
91. sqlCmd=newSystem.Data.SqlClient.SqlCommand("SelectC
ount(*)From"+strTableName,sqlConn);
92. if(this.sqlConn.State==ConnectionState.Closed)sqlCon
n.Open();
93. dbTotalSize=(int)sqlCmd.ExecuteScalar();
94. sqlConn.Close();
95. return(int)Math.Ceiling(dbTotalSize/this.dbSheetSize
);
96. }
97.
98. ///<summary>
99. ///新建一个 Excel 实例
100. ///</summary>
101. ///<paramname="strTitle">Excel 表头上的文字</param>
102. publicvoidDeclareExcelApp(string[]strTitle,stringstrS
ql,stringstrTableName,stringstrMastTitle)
103. {
104. m_objExcel=newExcel.ApplicationClass();
105. m_objExcel.Visible=true;
106. m_objBooks=(Excel.Workbooks)m_objExcel.Workbooks;
107. m_objBook=(Excel._Workbook)
(m_objBooks.Add(m_objOpt));
108. m_objSheets=(Excel.Sheets)m_objBook.Worksheets;
109. if(intSheetTotalSize<=3)
110. {
111. if(this.dbTotalSize<=this.dbSheetSize)
112. {
113. this.ExportDataByQueryTable(1,false,strTitle
,strSql,strTableName,strMastTitle);
114. return;
115. }
剩余10页未读,继续阅读
资源评论
- qq936825192013-08-15写的很完善,自己稍加修改即可
- bing_luo_182012-11-01运行出错,运行不了
apple125414
- 粉丝: 17
- 资源: 56
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功