卓正PageOffice自动生成Excel表格.docx_第1页
卓正PageOffice自动生成Excel表格.docx_第2页
卓正PageOffice自动生成Excel表格.docx_第3页
卓正PageOffice自动生成Excel表格.docx_第4页
卓正PageOffice自动生成Excel表格.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

卓正PageOffice自动生成Excel表格很多情况下,软件开发者需要从数据库读取数据,然后将数据动态填充到手工预先准备好的Excel模板文件里,这对于生成复杂格式的Excel报表文件非常有用,这个功能应用PageOffice的基本动态填充功能即可实现。但若是用户想动态生成一个没有固定模版格式的Excel报表时,换句话说,没有办法事先准备一个固定格式的模板时,就需要开发人员用后台代码实现Excel报表的动态生成功能了,即通过后台代码在Excel的工作表上画出相应表格,实现Excel文件的从零到有。这里的“零”指的是Excel空白文件。下面我就如何通过后台代码实现在空白Excel文件中画表格,这一问题的具体步骤和大家分享一下。就以通过后台自动生成一张“出差开支预算表”为例来向大家介绍一下吧。第一步:请先安装PageOffice的服务器端的安装程序(请先确保已安装了微软公司发布的Excel组件程序),之后在你的网站中根目录下添加pageoffice文件夹(在网站的“下载中心”中可下载相应的压缩包,解压之后直接将PageOffice实例代码里的pageoffice文件夹拷贝到根目录下就可以了)。第二步:在网站中添加文件夹存放excel模板文件,我习惯命名为“doc”,添加的模版文件是“test2.xls”。第三步:在网站中创建动态页面Excel.aspx。在工具箱中拖动一个PageOfficeCtrl控件到页面上(PageOfficeCtrl控件位于工具箱最下方),并设置控件所在层()的高和宽。 第四步:在Excel.aspx.cs中,利用PageOfficeCtrl控件画出相应的Excel表格,部分代码如下:/定义工作薄(Workbook)对象PageOffice.ExcelWriter.Workbookwb=newPageOffice.ExcelWriter.Workbook();/定义table对象,“Sheet1”为打开的工作薄中的表单名称PageOffice.ExcelWriter.TablebackGroundTable=wb.OpenSheet(Sheet1).OpenTable(A1:P200);/设置背景颜色backGroundTable.Border.LineColor=Color.White;/设置标题/打开table对象wb.OpenSheet(Sheet1).OpenTable(A1:H2).Merge();/设置table中行高wb.OpenSheet(Sheet1).OpenTable(A1:H2).RowHeight=30;/定义单元格对象PageOffice.ExcelWriter.CellA1=wb.OpenSheet(Sheet1).OpenCell(A1);/设置单元格内容的对齐方式/设置水平对齐方式A1.HorizontalAlignment=PageOffice.ExcelWriter.XlHAlign.xlHAlignCenter;/设置垂直对齐方式A1.VerticalAlignment=PageOffice.ExcelWriter.XlVAlign.xlVAlignCenter;/设置单元格前景色A1.ForeColor=Color.FromArgb(0,128,128);/给单元格赋值A1.Value=出差开支预算;/单元格字体加粗A1.Font.Bold=true;/设置单元格字体大小A1.Font.Size=25;#region画表头/定义Table的Border对象(此处相当于设置单元格的边框)PageOffice.ExcelWriter.BorderC4Border=wb.OpenSheet(Sheet1).OpenTable(C4:C4).Border;/设置边框的宽度样式C4Border.Weight=PageOffice.ExcelWriter.XlBorderWeight.xlThick;/设置边框线的颜色(注意:表格边框的颜色叠加问题:哪个颜色想显示在最上面,哪个表格的边框颜色后设置)C4Border.LineColor=Color.Yellow;PageOffice.ExcelWriter.TabletitleTable=wb.OpenSheet(Sheet1).OpenTable(B4:H5);titleTable.Border.Weight=PageOffice.ExcelWriter.XlBorderWeight.xlThick;/设置边框线的颜色(表格C4Border的上边框颜色将被表格titleTable的边框颜色覆盖)titleTable.Border.LineColor=Color.FromArgb(0,128,128);/设置表格边框样式titleTable.Border.BorderType=PageOffice.ExcelWriter.XlBorderType.xlAllEdges;#endregion#region画表体PageOffice.ExcelWriter.TablebodyTable=wb.OpenSheet(Sheet1).OpenTable(B6:H15);/设置table的边框bodyTable.Border.LineColor=Color.Gray;bodyTable.Border.Weight=PageOffice.ExcelWriter.XlBorderWeight.xlHairline;.#endregion#region画表尾/画表尾PageOffice.ExcelWriter.BorderH16H17Border=wb.OpenSheet(Sheet1).OpenTable(H16:H17).Border;H16H17Border.LineColor=Color.FromArgb(204,255,204);PageOffice.ExcelWriter.BorderE16G17Border=wb.OpenSheet(Sheet1).OpenTable(E16:G17).Border;E16G17Border.LineColor=Color.FromArgb(0,128,128);ageOffice.ExcelWriter.TablefootTable=wb.OpenSheet(Sheet1).OpenTable(B16:H17);footTable.Border.Weight=PageOffice.ExcelWriter.XlBorderWeight.xlThick;footTable.Border.LineColor=Color.FromArgb(0,128,128);footTable.Border.BorderType=PageOffice.ExcelWriter.XlBorderType.xlAllEdges;#endregion#region设置行高列宽/设置行高列宽wb.OpenSheet(Sheet1).OpenTable(A1:A1).ColumnWidth=1;wb.OpenSheet(Sheet1).OpenTable(B1:B1).ColumnWidth=20;.wb.OpenSheet(Sheet1).OpenTable(A16:A16).RowHeight=20;wb.OpenSheet(Sheet1).OpenTable(A17:A17).RowHeight=20;#endregion/批量设置表格中字体大小为10for(inti=0;i12;i+)for(intj=0;j7;j+)wb.OpenSheet(Sheet1).OpenCellRC(4+i,2+j).Font.Size=10;#region填充单元格背景颜色/填充单元格背景色for(inti=0;i10;i+)wb.OpenSheet(Sheet1).OpenCell(H+(6+i).ToString().BackColor=Color.FromArgb(255,255,153);wb.OpenSheet(Sheet1).OpenCell(E16).BackColor=Color.FromArgb(0,128,128);wb.OpenSheet(Sheet1).OpenCell(F16).BackColor=Color.FromArgb(0,128,128);.wb.OpenSheet(Sheet1).OpenCell(H16).BackColor=Color.FromArgb(204,255,204);wb.OpenSheet(Sheet1).OpenCell(H17).BackColor=Color.FromArgb(204,255,204);#endregion#region填充单元格文本和公式/填充单元格文本PageOffice.ExcelWriter.CellB4=wb.OpenSheet(Sheet1).OpenCell(B4);B4.Font.Bold=true;B4.Value=出差开支预算;PageOffice.ExcelWriter.CellH5=wb.OpenSheet(Sheet1).OpenCell(H5);H5.Font.Bold=true;H5.Value=总计;H5.HorizontalAlignment=PageOffice.ExcelWriter.XlHAlign.xlHAlignCenter;.wb.OpenSheet(Sheet1).OpenCell(C6).Value=机票单价(往);wb.OpenSheet(Sheet1).OpenCell(C7).Value=机票单价(返);./填充单元格公式wb.OpenSheet(Sheet1).OpenCell(H6).Formula=D6*F6;wb.OpenSheet(Sheet1).OpenCell(H7).Formula=D7*F7;./填充单元格文本显示格式(¥.0.00)for(inti=0;iH16,低于预算,超出预算);E17.VerticalAlignment=PageOffice.ExcelWriter.XlVAlign.xlVAlignCenter;PageOffice.ExcelWriter.CellH16=wb.OpenSheet(Sheet1).OpenCell(H16);H16.VerticalAlignment=PageOffice.ExcelWriter.XlVAlign.xlVAlignCenter;H16.NumberFormatLocal=¥#,#0.00;¥-#,#0.00;H16.Font.Name=Arial;H16.Font.Size=11;H16.Font.Bold=true;H16.Formula=SUM(H6:H15);PageOffice.ExcelWriter.CellH17=wb.OpenSheet(Sheet1).OpenCell(H17);H17.VerticalAlignment=PageOffice.ExcelWriter.XlVAlign.xlVAlignCenter;H17.NumberFormatLocal=¥#,#0.00;¥-#,#0.00;H17.Font.Name=Arial;H17.Font.Size=11;H17.Font.Bold=true;H17.Formula=(C4-H16);#endregion#region填充数据/填充数据PageOffice.ExcelWriter.CellC4=wb.OpenSheet(Sheet1).OpenCell(C4);C4.NumberFormatLocal=¥#,#0.00;¥-#,#0.00;C4.Value=2500;PageOffice.ExcelWriter.CellD6=wb.OpenSheet(Sheet1).OpenCell(D6);D6.NumberFormatLocal=¥#,#0.00;¥-#,#0.00;D6.Value=1200;wb.OpenSheet(Sheet1).OpenCell(F6).Font.Size=10;wb.OpenSheet(Sheet1).OpenCell(F6).Value=1;PageOffice.ExcelWriter.CellD7=wb.OpenSheet(Sheet1).OpenCell(D7);D7.NumberFormatLocal=¥#,#0.00;¥-#,#0.00;D7.Value=875;wb.OpenSheet(Sheet1).OpenCell(F7).Value=1;#endregion/打开文件stringfileName=test2.xls;PageOfficeCtrl1.ServerPage=pageoffice/server.aspx;PageOfficeCtrl1.SetWriter(wb);PageOfficeCtrl1.WebOpen(Server.MapPath(doc/)+fileName,PageOffice.OpenModeType.xlsNormalEdit,somebody);如此,就完成Excel表格的填充了。方案总结:利用PageOffice组件实现后台画出Excel报表是很容易的。它既能在线对Excel表格内容进行排版,又能在后台修改内容(可实现内容的动态填

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论