zoukankan      html  css  js  c++  java
  • Xml方式导出Excel

    用Excel 编辑 表格样式 打印样式 等

    另存为 后缀名为 .xml格式的文件

    以文本形式 打开 ,可以看到 文件编码 是个标准的xml 格式 

    根据导出的 xml 格式文件 ,用程序 生成类似的 xml文件 进行输出为后缀名为.xls的文件

    第一标签是 xml文件头 

    第二标签好像是说文件默认用excle 方式打开 

    下面的 DocumentProperties OfficeDocumentSettings ExcleWorkbook 都是文件的一些信息 ,木有什么意思 

    Styles 标签中 是 整个Excel文件的样式

    <Styles>
      <Style ss:ID="Default" ss:Name="Normal">
       <Alignment ss:Vertical="Center"/>
       <Borders/>
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
      <Style ss:ID="m44768096">
       <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"/>
      </Style>
    </Styles>

    在下面是<Worksheet ss:Name="Sheet1"> 标签 Name就是 标签名称  一个闭合的Sheet 标签就是一个 Sheet页 ,所以这种导出支持多Sheet页

    Sheet标签中的内容 主要就是一个Table 和 一个 WorksheetOptions

    WorksheetOptions 主要定义 打印方式  边距 窗口冻结 等等 ,在设计 Excel文件时都设置好了  不需要修改

    Table 中就更简单了 和 html中Table 差不多

    需要注意的是  ss:ExpandedColumnCount="22" ss:ExpandedRowCount="63"  这两个属性 

    如果导出的 文件行数或列数不固定的话 导出文件 如果行数 列数 大于 属性值的大小,文件打不开 会报错

    所以直接删除就可以了

    ss:StyleID 值对应的是 上面 Styles 中 Style样式的ID  

    其他属性直接看就大概知道什么意思了

    ss:MergeAcross="21" 是横向合并 也就是合并列 ,表示合并22列  

    ss:MergeDown="11"  是纵向合并 也就是合并行,表示合并12行 

     

    ss:Index="2" 表示前边有一个单元格是 纵向合并的 而且 前边的单元格在第一列

    如果ss:Index="6"  表示 前边合并的列在第五列 即 6 就是当前单元格所在的列数 从1开始数

     

    ......................

    剩下的就是 用程序逻辑来生成xml 文件了 

     

     

     

     

     

  • 相关阅读:
    c#生成验证码
    使用Linq导出数据到execl
    AspNetPager2.0.dll组件的使用
    <httpRuntime>属性值的解析
    帮助文档chm的制作
    关于table边框打印不显示的样式设置
    【Reporting Services 报表开发】— 如何设置报表分页列标题每一页都显示
    Microsoft Dynamics CRM4.0 创建单据的时候,自动生成单据编号的通用方法
    【Reporting Services 报表开发】— 总结
    出现“安全时间戳无效,因为其创建时间(“2013-10-30T14:42:07.861Z”)是将来的时间。当前时间为“2013-10-30T14:36:23.988Z”,允许的时钟偏差是“00:05:00””的原因
  • 原文地址:https://www.cnblogs.com/GodLi/p/2347897.html
Copyright © 2011-2022 走看看