zoukankan      html  css  js  c++  java
  • 根据EXCEL模板填充数据

    string OutFileName = typeName+"重点源达标率" + DateTime.Now.ToString("yyyy-MM-dd");             string templateName = "keySources_template.xml";             DataTable dsData = dal.T_StanderEvaluateData_DefaultListPR(parameterList.ToArray());             if (null == dsData||dsData.Rows.Count<1) return;             int intColCount = dsData.Columns.Count;             int intRowCount = dsData.Rows.Count;

                //构造EXCLE字符串             System.IO.StreamWriter sw = new System.IO.StreamWriter(this.Server.MapPath("..") + "\temp\" + OutFileName + ".xls");             string filePath = this.Server.MapPath("..") + "\ExcelTemplet\" + templateName;             System.IO.FileStream tempFile = new System.IO.FileStream(filePath, System.IO.FileMode.Open);//读取模板文件

                System.IO.StreamReader sr = new System.IO.StreamReader(tempFile);             string tempStr = sr.ReadToEnd();             sr.Close();

                //内容开始             StringBuilder sbContent = new StringBuilder();             sbContent.Append("<Worksheet ss:Name="" + typeName + "重点源达标率表"><Table");             sbContent.Append(" x:FullColumns="1" x:FullRows="1" ss:StyleID="s63" ss:DefaultColumnWidth="54"");             sbContent.Append(" ss:DefaultRowHeight="13.5"><Row ss:AutoFitHeight="0" ss:Height="42.5625">");             sbContent.Append("<Cell ss:MergeAcross="" + (intColCount-1) + "" ss:StyleID="s65">");             sbContent.Append("<Data ss:Type="String">" + typeName + "重点源达标率表</Data></Cell></Row>");             sbContent.Append("<Row ss:AutoFitHeight="0" ss:Height="24">");             for (int i = 0; i < dsData.Columns.Count; i++)             {                 sbContent.Append("<Cell ss:StyleID="s68"><Data ss:Type="String">"+dsData.Columns[i].ColumnName+"</Data></Cell>");             }             sbContent.Append("</Row>");             for (int k = 0; k < dsData.Rows.Count; k++)             {                 sbContent.Append("<Row>");                 for (int m = 0; m < dsData.Columns.Count; m++)                 {                     if("重点源数"==dsData.Columns[m].ColumnName)                         keyPollutionCount+=Convert.ToInt32(dsData.Rows[k][m].ToString());                     if ("实测重点源数" == dsData.Columns[m].ColumnName)                         keyAllPollutionCount += Convert.ToInt32(dsData.Rows[k][m].ToString());                     string value = dsData.Rows[k][m].ToString();                     if ("0%" == value) value = "";                     sbContent.Append("<Cell ss:StyleID="s21"><Data ss:Type="String">" +value +"</Data></Cell>");                 }                 sbContent.Append("</Row>");             }             sbContent.Append("<Row><Cell ss:StyleID="s21" ss:MergeAcross="1"><Data ss:Type="String">合计</Data></Cell>");             sbContent.Append("<Cell ss:StyleID="s21"><Data ss:Type="String">"+keyPollutionCount+"</Data></Cell>");             sbContent.Append("<Cell ss:StyleID="s21"><Data ss:Type="String">" + keyAllPollutionCount + "</Data></Cell>");             DataTable dtPollutionRates = dal.GetAllPollutionRate(parameterList.ToArray());             if (null == dtPollutionRates || dtPollutionRates.Rows.Count < 0) return;             for (int i = 0; i < dtPollutionRates.Rows.Count; i++)             {                 string tempProterty = dtPollutionRates.Rows[i]["AllRate"].ToString();                 if ("0%" == tempProterty) tempProterty = "";                 sbContent.Append("<Cell ss:StyleID="s21"><Data ss:Type="String">" + tempProterty + "</Data></Cell>");             }             sbContent.Append("</Row>");             sbContent.Append("</Table>");             tempStr = tempStr.Replace("{Content}", sbContent.ToString());             sw.Write(tempStr);             sw.Close();             ClientScript.RegisterStartupScript(typeof(Page), "a", "<script language="Javascript" type="text/javascript">window.open('../temp/" + OutFileName + ".xls');</script>");             BindGrid();         }         catch (Exception ex)         { throw; }

    <?xml version="1.0"?>
    <?mso-application progid="Excel.Sheet"?>
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
     xmlns:o="urn:schemas-microsoft-com:office:office"
     xmlns:x="urn:schemas-microsoft-com:office:excel"
     xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
     xmlns:html="http://www.w3.org/TR/REC-html40">
     <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
      <Version>14.00</Version>
     </DocumentProperties>
     <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
      <AllowPNG/>
     </OfficeDocumentSettings>
     <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
      <WindowHeight>10005</WindowHeight>
      <WindowWidth>10005</WindowWidth>
      <WindowTopX>120</WindowTopX>
      <WindowTopY>135</WindowTopY>
      <ProtectStructure>False</ProtectStructure>
      <ProtectWindows>False</ProtectWindows>
     </ExcelWorkbook>
     <Styles>
      <Style ss:ID="Default" ss:Name="Normal">
       <Alignment ss:Vertical="Center"/>
       <Borders/>
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
      <Style ss:ID="s62" ss:Name="常规 2">
       <Alignment ss:Vertical="Bottom"/>
       <Borders/>
       <Font ss:FontName="Arial" x:Family="Swiss"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
      <Style ss:ID="s63">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
      </Style>
      <Style ss:ID="s65">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
       <Borders>
        <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
       </Borders>
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="16" ss:Color="#000000"
        ss:Bold="1"/>
      </Style>
      <Style ss:ID="s68" ss:Parent="s62">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
       <Borders>
        <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
       </Borders>
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="9" ss:Color="#000000"
        ss:Bold="1"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
      <Style ss:ID="s69" ss:Parent="s62">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
       <Borders>
        <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
       </Borders>
       <Font ss:FontName="Tahoma" x:CharSet="134" x:Family="Swiss" ss:Size="9"
        ss:Color="#000000" ss:Bold="1"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
      <Style ss:ID="s70" ss:Parent="s62">
       <Alignment ss:Vertical="Center" ss:WrapText="1"/>
       <Borders>
        <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
       </Borders>
       <Font ss:FontName="宋体" x:CharSet="134" ss:Color="#000000" ss:Bold="1"/>
       <Interior/>
      </Style>
      <Style ss:ID="s72" ss:Parent="s62">
       <Alignment ss:Horizontal="Left" ss:Vertical="Center" ss:WrapText="1"/>
       <Borders>
        <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
        <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
       </Borders>
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="9"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
       <!--通用样式s21,程序里写入行数据时使用此样式,不可少-->
       <Style ss:ID="s21">
         <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
         <Borders>
           <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
           <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
           <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
           <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
         </Borders>
       </Style>
     </Styles>
     {Content}
    <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
       <PageSetup>
        <Header x:Margin="0.3"/>
        <Footer x:Margin="0.3"/>
        <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
       </PageSetup>
       <Unsynced/>
       <Print>
        <ValidPrinterInfo/>
        <PaperSizeIndex>9</PaperSizeIndex>
        <HorizontalResolution>200</HorizontalResolution>
        <VerticalResolution>200</VerticalResolution>
       </Print>
       <Selected/>
       <Panes>
        <Pane>
         <Number>3</Number>
         <ActiveRow>1</ActiveRow>
         <ActiveCol>9</ActiveCol>
        </Pane>
       </Panes>
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
     </Worksheet>
    </Workbook>

  • 相关阅读:
    爬虫面试资料
    python高级知识
    Python2和Python3的字符串编码和类型
    cookie和session-csrf防护-中间件
    [干货]弄清楚迭代器, 生成器概念/作用
    MySQL中四种常用存储引擎的介绍
    python常见面试集合
    [MongoDB教程] 2.MongoDB的安装与使用
    深入理解:线程,进程,协程和并行,并发-协程
    [MongoDB教程] 1.简介
  • 原文地址:https://www.cnblogs.com/jameslif/p/3158450.html
Copyright © 2011-2022 走看看