精华内容
下载资源
问答
  • 我是使用wps创建excel后另存为xml格式,再将mxl后缀改为ftl 导出功能做好后发现使用wps打开excel没问题,但是office打开报错, 查看excel错误日志之后就知道问题出在哪了(打开excel报错后会提示错误日志路径,你...

    我是使用wps创建excel后另存为xml格式,再将xml后缀改为ftl
    导出功能做好后发现使用wps打开excel没问题,但是office打开报错,
    查看excel错误日志之后就知道问题出在哪了(打开excel报错后会提示错误日志路径,你直接按路径去找是找不到的,直接C盘搜索日志名字就好)

    ss:ExpandedRowCount=“1” 这个是行数,行数小于实际行数会报错,要么写尽量大,
    如:ss:ExpandedRowCount=“9999”

    <Worksheet ss:Name="Sheet1">
    		<Table ss:ExpandedColumnCount="9999" ss:ExpandedRowCount="9999" x:FullColumns="1" x:FullRows="1" ss:StyleID="s50" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="19.5" >
    

    要么就写成动态的,
    比如:ss:ExpandedRowCount="${dataList?size + 10}"
    dataList为数据集合

    <Worksheet ss:Name="Sheet1">
    		<Table ss:ExpandedColumnCount="9999" ss:ExpandedRowCount="${dataList?size + 10" x:FullColumns="1" x:FullRows="1" ss:StyleID="s50" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="19.5" >
    

    我还出现另一个是数据类型的错误:

    <Data ss:Type="Number">序号</Data>
    

    类型为数字,给的值却是字符串,也会导致office打不开,将Number改为String即可解决:

    <Data ss:Type="String">序号</Data>
    

    此外,如果ftl模板做好了,发现某一列宽度不够,怎么办?改这里:

    <Column ss:Index="1" ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="288"/>
    

    index是第几列,更改ss:Width值就可以

    设置自动换行:ss:WrapText=“1”
    设置自适应行高:ss:AutoFitHeight=“1”
    示例代码:

    <Style ss:ID="s51">
    	<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
    </Style>
    
    <Row ss:AutoFitHeight="1">
    	<Cell ss:StyleID="s51">
    		<Data ss:Type="String">${items.content}</Data>
    	</Cell>
    </Row>
    

    至于ss:AutoFitWidth,研究了半天还是没有效果,要是各位前辈指导用法的话,还请告诉一下,谢谢了啊

    PS:这篇博客写的很详细freemarker导出excel时office报错而wps不会

    展开全文
  • 无论是动态生成行还是动态生成列,都要...2、模板文件为xml格式的时候,里面有些字段在office中无法识别。参考office报错日志信息修改 在 样式 出现 XML 错误 原因: 无效值 文件: C:\Users\Zhous\AppData\Local\T...

    无论是动态生成行还是动态生成列,都要注意单元格合并的问题

    原因:

    1、做模板的excel文件不是wps和office通用的版本,所以生成的excel文件office无法识别

    2、模板文件为xml格式的时候,里面有些字段在office中无法识别。参考office报错日志信息修改

    在 样式 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Style
    标志: NumberFormat
    ATTRIB: Format
    值: 0_

    在 表 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Table
    标志: Row
    ATTRIB: Index
    值: 2

    在 表 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Table
    标志: Row
    ATTRIB: Index
    值: 2

    在 表 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Table
    标志: Row
    ATTRIB: Index
    值: 3

    在 表 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Table
    标志: Row
    ATTRIB: Index
    值: 4

    在 表 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Table
    标志: Row
    ATTRIB: Index
    值: 5

    在 表 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Table
    标志: Row
    ATTRIB: Index
    值: 6

    在 表 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Table
    标志: Row
    ATTRIB: Index
    值: 2

    在 表 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Table
    标志: Row
    ATTRIB: Index
    值: 3

    在 表 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Table
    标志: Row
    ATTRIB: Index
    值: 4

    在 工作表设置 出现 XML 错误
    原因: 无效值
    文件: C:\Users\Zhous\AppData\Local\Temp\skmlExcel1526972115396.xls
    组: Worksheet
    标志: Table
    ATTRIB: ExpandedRowCount
    值: 6

    以上即为无法识别index和numberformat

    下面附上模板文件代码

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?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"
    	xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
    	<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
    		<Author>mocking</Author>
    		<LastAuthor>‎</LastAuthor>
    		<Created>2018-05-17T06:23:39Z</Created>
    		<LastSaved>2018-05-17T06:31:50Z</LastSaved>
    	</DocumentProperties>
    	<CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
    		<KSOProductBuildVer dt:dt="string">2052-10.1.0.7346
    		</KSOProductBuildVer>
    	</CustomDocumentProperties>
    	<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
    		<WindowWidth>27525</WindowWidth>
    		<WindowHeight>13650</WindowHeight>
    		<ProtectStructure>False</ProtectStructure>
    		<ProtectWindows>False</ProtectWindows>
    	</ExcelWorkbook>
    	<Styles>
    		<Style ss:ID="s40" ss:Name="强调文字颜色 4">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#FFC000" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s35" ss:Name="20% - 强调文字颜色 1">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#DDEBF7" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s32" ss:Name="适中">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#9C6500" />
    			<Interior ss:Color="#FFEB9C" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s27" ss:Name="20% - 强调文字颜色 6">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#E2EFDA" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s20" ss:Name="标题 2">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Continuous"
    					ss:Weight="2" ss:Color="#5B9BD5" />
    			</Borders>
    			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="13" ss:Color="#44546A"
    				ss:Bold="1" />
    		</Style>
    		<Style ss:ID="s16" ss:Name="警告文本">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FF0000" />
    		</Style>
    		<Style ss:ID="s1" ss:Name="货币[0]">
    			<NumberFormat
    				ss:Format="_ "¥"* #,##0_ ;_ "¥"* \-#,##0_ ;_ "¥"* "-"_ ;_ @_ " />
    		</Style>
    		<Style ss:ID="s8" ss:Name="千位分隔">
    			<NumberFormat
    				ss:Format="_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_ " />
    		</Style>
    		<Style ss:ID="s43" ss:Name="强调文字颜色 5">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#4472C4" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s31" ss:Name="好">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#006100" />
    			<Interior ss:Color="#C6EFCE" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s14" ss:Name="60% - 强调文字颜色 2">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#F4B084" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s9" ss:Name="60% - 强调文字颜色 3">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#C9C9C9" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s7" ss:Name="差">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#9C0006" />
    			<Interior ss:Color="#FFC7CE" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s48" ss:Name="60% - 强调文字颜色 6">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#A9D08E" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s33" ss:Name="20% - 强调文字颜色 5">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#D9E1F2" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s30" ss:Name="汇总">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Double" ss:Weight="3"
    					ss:Color="#5B9BD5" />
    				<Border ss:Position="Top" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#5B9BD5" />
    			</Borders>
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000"
    				ss:Bold="1" />
    		</Style>
    		<Style ss:ID="s6" ss:Name="40% - 强调文字颜色 3">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#DBDBDB" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s44" ss:Name="40% - 强调文字颜色 5">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#B4C6E7" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s25" ss:Name="计算">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#7F7F7F" />
    				<Border ss:Position="Left" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#7F7F7F" />
    				<Border ss:Position="Right" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#7F7F7F" />
    				<Border ss:Position="Top" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#7F7F7F" />
    			</Borders>
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FA7D00"
    				ss:Bold="1" />
    			<Interior ss:Color="#F2F2F2" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s19" ss:Name="标题 1">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Continuous"
    					ss:Weight="2" ss:Color="#5B9BD5" />
    			</Borders>
    			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="15" ss:Color="#44546A"
    				ss:Bold="1" />
    		</Style>
    		<Style ss:ID="s13" ss:Name="注释">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#B2B2B2" />
    				<Border ss:Position="Left" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#B2B2B2" />
    				<Border ss:Position="Right" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#B2B2B2" />
    				<Border ss:Position="Top" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#B2B2B2" />
    			</Borders>
    			<Interior ss:Color="#FFFFCC" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="Default" ss:Name="Normal">
    			<Alignment />
    			<Borders />
    			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="12" />
    			<Interior />
    			<NumberFormat />
    			<Protection />
    		</Style>
    		<Style ss:ID="s2" ss:Name="20% - 强调文字颜色 3">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#EDEDED" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s5" ss:Name="千位分隔[0]">
    			<NumberFormat ss:Format="_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_ " />
    		</Style>
    		<Style ss:ID="s46" ss:Name="强调文字颜色 6">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#70AD47" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s45" ss:Name="60% - 强调文字颜色 5">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#8EA9DB" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s37" ss:Name="20% - 强调文字颜色 2">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#FCE4D6" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s34" ss:Name="强调文字颜色 1">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#5B9BD5" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s26" ss:Name="检查单元格">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Double" ss:Weight="3"
    					ss:Color="#3F3F3F" />
    				<Border ss:Position="Left" ss:LineStyle="Double" ss:Weight="3"
    					ss:Color="#3F3F3F" />
    				<Border ss:Position="Right" ss:LineStyle="Double" ss:Weight="3"
    					ss:Color="#3F3F3F" />
    				<Border ss:Position="Top" ss:LineStyle="Double" ss:Weight="3"
    					ss:Color="#3F3F3F" />
    			</Borders>
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF"
    				ss:Bold="1" />
    			<Interior ss:Color="#A5A5A5" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s22" ss:Name="标题 3">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Continuous"
    					ss:Weight="2" ss:Color="#ACCCEA" />
    			</Borders>
    			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#44546A"
    				ss:Bold="1" />
    		</Style>
    		<Style ss:ID="s17" ss:Name="标题">
    			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="18" ss:Color="#44546A"
    				ss:Bold="1" />
    		</Style>
    		<Style ss:ID="s10" ss:Name="超链接">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#0000FF"
    				ss:Underline="Single" />
    		</Style>
    		<Style ss:ID="s4" ss:Name="货币">
    			<NumberFormat
    				ss:Format="_ "¥"* #,##0.00_ ;_ "¥"* \-#,##0.00_ ;_ "¥"* "-"??_ ;_ @_ " />
    		</Style>
    		<Style ss:ID="s47" ss:Name="40% - 强调文字颜色 6">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#C6E0B4" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s41" ss:Name="20% - 强调文字颜色 4">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#FFF2CC" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s38" ss:Name="40% - 强调文字颜色 2">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#F8CBAD" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s3" ss:Name="输入">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#7F7F7F" />
    				<Border ss:Position="Left" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#7F7F7F" />
    				<Border ss:Position="Right" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#7F7F7F" />
    				<Border ss:Position="Top" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#7F7F7F" />
    			</Borders>
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#3F3F76" />
    			<Interior ss:Color="#FFCC99" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s39" ss:Name="强调文字颜色 3">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#A5A5A5" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s24" ss:Name="输出">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#3F3F3F" />
    				<Border ss:Position="Left" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#3F3F3F" />
    				<Border ss:Position="Right" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#3F3F3F" />
    				<Border ss:Position="Top" ss:LineStyle="Continuous"
    					ss:Weight="1" ss:Color="#3F3F3F" />
    			</Borders>
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#3F3F3F"
    				ss:Bold="1" />
    			<Interior ss:Color="#F2F2F2" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s23" ss:Name="60% - 强调文字颜色 4">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#FFD966" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s21" ss:Name="60% - 强调文字颜色 1">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#9BC2E6" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s18" ss:Name="解释性文本">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#7F7F7F"
    				ss:Italic="1" />
    		</Style>
    		<Style ss:ID="s15" ss:Name="标题 4">
    			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#44546A"
    				ss:Bold="1" />
    		</Style>
    		<Style ss:ID="s12" ss:Name="已访问的超链接">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#800080"
    				ss:Underline="Single" />
    		</Style>
    		<Style ss:ID="s11" ss:Name="百分比">
    			<NumberFormat ss:Format="0%" />
    		</Style>
    		<Style ss:ID="s42" ss:Name="40% - 强调文字颜色 4">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#FFE699" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s36" ss:Name="40% - 强调文字颜色 1">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#000000" />
    			<Interior ss:Color="#BDD7EE" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s29" ss:Name="链接单元格">
    			<Borders>
    				<Border ss:Position="Bottom" ss:LineStyle="Double" ss:Weight="3"
    					ss:Color="#FF8001" />
    			</Borders>
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FA7D00" />
    		</Style>
    		<Style ss:ID="s28" ss:Name="强调文字颜色 2">
    			<Font ss:FontName="宋体" x:CharSet="0" ss:Size="11" ss:Color="#FFFFFF" />
    			<Interior ss:Color="#ED7D31" ss:Pattern="Solid" />
    		</Style>
    		<Style ss:ID="s49" />
    		<Style ss:ID="s50">
    			<Alignment ss:Horizontal="Center" />
    		</Style>
    	</Styles>
    	<Worksheet ss:Name="Sheet1">
    		<Table ss:ExpandedColumnCount="8" ss:ExpandedRowCount="${rsvCountList?size + 2}"
    			x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54"
    			ss:DefaultRowHeight="14.25">
    			<Row>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">所在市</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">大(1)型</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">大(2)型</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">中型</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">小(1)型</Data>
    				</Cell>
    				 <Cell ss:StyleID="s50">
    					<Data ss:Type="String">小(2)型</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">合计</Data>
    				</Cell>
    			</Row>
    			
    			 <#list rsvCountList as rsv>  
       			 
       			  <Row ss:Index="${rsv_index+2}">  
    
    			    <Cell ss:StyleID="s50"><Data ss:Type="String">${rsv.name!}</Data></Cell>
    			        <#list rsv.countList as c> 
    				    <Cell ss:StyleID="s50"><Data ss:Type="String">${c.count!}</Data></Cell>  
    			 	</#list>
    			    <Cell ss:StyleID="s50"><Data ss:Type="String">${rsv.count!}</Data></Cell>
    			  </Row>
    			 </#list>  
    		</Table>
    		<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
    			<PageSetup>
    				<Header x:Margin="0.511111111111111" />
    				<Footer x:Margin="0.511111111111111" />
    			</PageSetup>
    			<Selected />
    			<TopRowVisible>0</TopRowVisible>
    			<LeftColumnVisible>0</LeftColumnVisible>
    			<PageBreakZoom>100</PageBreakZoom>
    			<Panes>
    				<Pane>
    					<Number>3</Number>
    					<ActiveRow>0</ActiveRow>
    					<ActiveCol>7</ActiveCol>
    					<RangeSelection>R1C8</RangeSelection>
    				</Pane>
    			</Panes>
    			<ProtectObjects>False</ProtectObjects>
    			<ProtectScenarios>False</ProtectScenarios>
    		</WorksheetOptions>
    	</Worksheet>
    	<Worksheet ss:Name="Sheet2">
    		<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1"
    			x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54"
    			ss:DefaultRowHeight="14.25" />
    		<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
    			<PageSetup>
    				<Header x:Margin="0.511111111111111" />
    				<Footer x:Margin="0.511111111111111" />
    			</PageSetup>
    			<TopRowVisible>0</TopRowVisible>
    			<LeftColumnVisible>0</LeftColumnVisible>
    			<PageBreakZoom>100</PageBreakZoom>
    			<ProtectObjects>False</ProtectObjects>
    			<ProtectScenarios>False</ProtectScenarios>
    		</WorksheetOptions>
    	</Worksheet>
    	<Worksheet ss:Name="Sheet3">
    		<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1"
    			x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54"
    			ss:DefaultRowHeight="14.25" />
    		<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
    			<PageSetup>
    				<Header x:Margin="0.511111111111111" />
    				<Footer x:Margin="0.511111111111111" />
    			</PageSetup>
    			<TopRowVisible>0</TopRowVisible>
    			<LeftColumnVisible>0</LeftColumnVisible>
    			<PageBreakZoom>100</PageBreakZoom>
    			<ProtectObjects>False</ProtectObjects>
    			<ProtectScenarios>False</ProtectScenarios>
    		</WorksheetOptions>
    	</Worksheet>
    </Workbook>ss:ExpandedRowCount="${rsvCountList?size + 2}"
    			x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54"
    			ss:DefaultRowHeight="14.25">
    			<Row>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">所在市</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">大(1)型</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">大(2)型</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">中型</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">小(1)型</Data>
    				</Cell>
    				 <Cell ss:StyleID="s50">
    					<Data ss:Type="String">小(2)型</Data>
    				</Cell>
    				<Cell ss:StyleID="s50">
    					<Data ss:Type="String">合计</Data>
    				</Cell>
    			</Row>
    			
    			 <#list rsvCountList as rsv>  
       			 
       			  <Row ss:Index="${rsv_index+2}">  
    
    			    <Cell ss:StyleID="s50"><Data ss:Type="String">${rsv.name!}</Data></Cell>
    			        <#list rsv.countList as c> 
    				    <Cell ss:StyleID="s50"><Data ss:Type="String">${c.count!}</Data></Cell>  
    			 	</#list>
    			    <Cell ss:StyleID="s50"><Data ss:Type="String">${rsv.count!}</Data></Cell>
    			  </Row>
    			 </#list>  
    		</Table>
    		<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
    			<PageSetup>
    				<Header x:Margin="0.511111111111111" />
    				<Footer x:Margin="0.511111111111111" />
    			</PageSetup>
    			<Selected />
    			<TopRowVisible>0</TopRowVisible>
    			<LeftColumnVisible>0</LeftColumnVisible>
    			<PageBreakZoom>100</PageBreakZoom>
    			<Panes>
    				<Pane>
    					<Number>3</Number>
    					<ActiveRow>0</ActiveRow>
    					<ActiveCol>7</ActiveCol>
    					<RangeSelection>R1C8</RangeSelection>
    				</Pane>
    			</Panes>
    			<ProtectObjects>False</ProtectObjects>
    			<ProtectScenarios>False</ProtectScenarios>
    		</WorksheetOptions>
    	</Worksheet>
    	<Worksheet ss:Name="Sheet2">
    		<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1"
    			x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54"
    			ss:DefaultRowHeight="14.25" />
    		<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
    			<PageSetup>
    				<Header x:Margin="0.511111111111111" />
    				<Footer x:Margin="0.511111111111111" />
    			</PageSetup>
    			<TopRowVisible>0</TopRowVisible>
    			<LeftColumnVisible>0</LeftColumnVisible>
    			<PageBreakZoom>100</PageBreakZoom>
    			<ProtectObjects>False</ProtectObjects>
    			<ProtectScenarios>False</ProtectScenarios>
    		</WorksheetOptions>
    	</Worksheet>
    	<Worksheet ss:Name="Sheet3">
    		<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1"
    			x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54"
    			ss:DefaultRowHeight="14.25" />
    		<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
    			<PageSetup>
    				<Header x:Margin="0.511111111111111" />
    				<Footer x:Margin="0.511111111111111" />
    			</PageSetup>
    			<TopRowVisible>0</TopRowVisible>
    			<LeftColumnVisible>0</LeftColumnVisible>
    			<PageBreakZoom>100</PageBreakZoom>
    			<ProtectObjects>False</ProtectObjects>
    			<ProtectScenarios>False</ProtectScenarios>
    		</WorksheetOptions>
    	</Worksheet>
    </Workbook>

     

    上面标红处为常出错的地方

     

    3、报错显示工作簿设置错误

    原因:ExpandedRowCount 数字过小,一般多是标签里面关键词出错,如索引

    4、报错显示表错误,查看错误日志--属性值为 Null 或缺少属性值
     

    原因:(1)ss:StyleID="s63"  样式没有对应上,或者没定义

              (2)

    展开全文
  • 打印Excel用模板往里拽数据,这个要是没有合并或是拆分单元格,这个好办,但是这个是有合并拆分单元格的,模板式根本实现了,所以想用xml来打印Excel(这个XML很好得到,就是你打开Excel,另存为(表格)xml文件,你...
  • 考虑可能是写入的格式和表格固有格式冲突,用WPS能打开而07打不开,说明可能是兼容性和版本的问题,又做了尝试,当数据量为2条时,写入无误,3条及以上就报错,思考可能是Excel的表模板有问题 结论: 经过尝试对比...

    问题描述:

    Excel07打开Excel就弹窗加载期间出现问题,用WPS打开无误,手机端打开效果如下:

    分析原因:

    报错信息显示c:/user...考虑可能是写入的格式和表格固有格式冲突,用WPS能打开而07打不开,说明可能是兼容性和版本的问题,又做了尝试,当数据量为2条时,写入无误,3条及以上就报错,思考可能是Excel的表模板有问题

    结论:

    经过尝试对比发现,是表xml模板问题,由于生成模板时,只有一行有值,第20行写了表尾备注,故生成的模板1.写死20行。2.第20固定是备注。xml模板改动位置如下:

    11图红色框选中位置为固定页尾,建议删掉。

    2图选中建议设置9999,此处控制表格共有多少条,模板默认为20条。

     

     

    ------------------------------------------------------------------------------------------------------------------------------------------

    myeclipse中报an internal error has occurred弹窗错误解决方案:

    window->preferences->run/debug->console->limit console output前的勾选框去掉,然后重启myeclipse

    展开全文
  • 生成的xls文件经常打不开. 其中最稳定的方法当属Html格式的导出, 也就是直接拼接 xml字符串. 强烈建议是用输出html的方式导出Excel 为了简化和灵活的生成html格式excel字符串. 我采用了RazorEngine.Core 模板引擎,...

    .net导出Excel有很多方法, 用过直接生成二进制xls的方式, 经过长期的测试发现,不是很稳定.生成的xls文件经常打不开.

    其中最稳定的方法当属Html格式的导出, 也就是直接拼接 xml字符串.

    强烈建议是用输出html的方式导出Excel

    为了简化和灵活的生成html格式的excel字符串. 我采用了RazorEngine.Core 模板引擎, 用它生成excel非常的灵活. 这样做的好处是可以自己灵活的定义表头… 一般应用都是要自定义表头的…虽然不及直接编辑xls文件方便, 但是胜在稳定性远超xls…

    使用RazorEngine.Core 引擎直接解析渲染出excel的内容.

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    using RazorEngine;
    using RazorEngine.Templating; // For extension methods.
    namespace Common.Excel
    {
        public class HtmlExcel
        {
    		public static string ListToExcel<T>(List<T> dySource,string templateFileName)
    		{
    		    var tk = Engine.Razor.GetKey(templateFileName);
    		     
    		    if (Engine.Razor.IsTemplateCached(tk, typeof(List<T>)))
    		    {
    		        string excelhtml = Engine.Razor.Run(tk, typeof(List<T>), dySource);
    		        return excelhtml;
    		
    		    } else {
    		        string template = File.ReadAllText(templateFileName);//得到文件内容
    		        string excelhtml = Engine.Razor.RunCompile(template, templateFileName, typeof(List<T>), dySource);
    		        return excelhtml;
    		    }
    		    
    		}
    	}
    }
    
    

    excel文件的模板文件
    这样的好处是可以自定义表头. 特殊格式也可以通过自己写代码控制, 非常方便.比使用Excel文件做模板要稳定的多.

    
    <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns=" http: //www.w3.org/TR/REC-html40">
    <head>
        <!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
          <x:Name>Worksheet</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets>
          </x:ExcelWorkbook></xml><![endif]-->
        <style type="text/css">
            table td {
                border: 1px solid #000000;
                width: 200px;
                height: 30px;
                text-align: center;
                background-color: #4f891e;
                color: #ffffff;
            }
        </style>
    
    </head>
    <body>
        <table class="excelTable">
    
            <thead>
                <tr>
                    <th>Id</th>
                    <th>仓位</th>
                    <th>商品简称</th>
                    <th>商品编码</th>
                    <th>商品名称</th>
                    <th>商品条码</th>
                    <th>入库批次号</th>
                    <th>入库时间</th>
                    <th>报检号</th>
                    <th>过期时间</th>
                    <th>价格</th>
                    <th>所属商家</th>
                    <th>期初盘点数量</th>
                    <th>现存量</th>
                    <th>占用量</th>
                    <th>可用量</th>
                    <th></th>
                    <th></th>
                    <th></th>
                    <th>箱规</th>
                    <th>净重</th>
                    <th>毛重</th>
                    <th>商品单位</th>
                    <th>商品类别</th>
                    <th>材积</th>
                </tr>
            </thead>
            <tbody>
                @foreach (var row in Model)
                {
                    <tr>
                        <td>@row.Id</td>
                        <td x:str>@row.仓位</td>
                        <td x:str>@row.商品简称</td>  
                        <td x:str>@row.商品编码</td>
                        <td x:str>@row.商品名称</td>
                        <td x:str>@row.商品条码</td>
                        <td x:str>@row.入库批次号</td>
                        <td>@row.入库时间</td>
                        <td>@row.报检号</td>
                        <td>@row.过期时间</td>
                        <td>@row.价格</td>
                        <td x:str>@row.所属商家</td>
                        <td>@row.期初盘点数量</td>
                        <td>@row.现存量</td>
                        <td>@row.占用量</td>
                        <td>@row.可用量</td>
                        <td>@row.长</td>
                        <td>@row.宽</td>
                        <td>@row.高</td>
                        <td x:str>@row.箱规</td>
                        <td>@row.净重</td>
                        <td>@row.毛重</td>
                        <td x:str>@row.商品单位</td>
                        <td x:str>@row.商品类别</td>
                        <td>@row.材积  ******</td>
                    </tr>
                }
            </tbody>
        </table>
    </body>
    </html>
    

    关于excel文件模板的小提示
    模板文件中 中的x:str 代表的是这个单元格的内容是文本, 同样的 代表的是这个单元格的内容是数字
    其它的格式可以自己在Excel中修改后,用记事本打开查看区别和变化.

    使用方法

      var excelstring = Common.Excel.HtmlExcel.ListToExcel<View库存量导出>(list, "Export/库位系统库存量信息.cshtml");
    
      HtmlExcelToWebDownload(excelstring, "库位系统库存量信息导出.xls");  
     
    

    补上HtmlExcelToWebDownload的代码.

    internal void HtmlExcelToWebDownload(string excelstring, string filename = "Export.xls", string ContentType = "application/vnd.ms-excel")
            {
                //Response.Clear();
                var buffer = System.Text.Encoding.UTF8.GetBytes(excelstring);
    
                Response.ContentType = ContentType;
                //Response.ContentEncoding = System.Text.Encoding.UTF8;
                //Response.Charset = "utf-8";
                Response.Headers.Add("Content-Length", buffer.Length.ToString());
                Response.Headers.Add("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename));
    
                //Response.AddHeader("Content-Disposition", "inline;FileName=out.pdf"); //如果需要预览而不是直接下载的话的话
                //如果附件名为中文:Response.AddHeader("Content-Disposition", "attachment;FileName=" + HttpUtility.UrlEncode("中文.pdf"));
    
    			 //Response.BodyWriter.WriteAsync(buffer);// Async 当文件超长时Async 会导致excel乱序
                //Response.BodyWriter.FlushAsync();// Async 当文件超长时Async 会导致excel乱序
                Response.Body.Write(buffer, 0, buffer.Length);
                Response.Body.Flush();
                Response.Body.Close();
            }
    

    如果

    Response.Body.Write(buffer, 0, buffer.Length);

    这一行出错
    那么在Startup.cs文件中.

            public void ConfigureServices(IServiceCollection services)
            {
                // If using Kestrel:
                //services.Configure<KestrelServerOptions>(options =>
                //{
                //    options.AllowSynchronousIO = true;
                //});
    
                // If using IIS:
                services.Configure<IISServerOptions>(options =>
                {
                    options.AllowSynchronousIO = true;
                });
    		}
    
    展开全文
  • excel2007格式文件错误的修复

    千次阅读 2014-07-09 11:24:24
    2、尝试使用浏览器打开(想让浏览器检测告诉我文件错误位置),但因为文件过大(80多M),根本打不开 3、写个程序A读取错误位置(java),代码如下: import java.io.BufferedReader; import java.
  • 5、由于目前Ribbon技术是1.0版本,还能实现可视化编程,必须手工修改xml参数, 同时为了兼顾广大非excel2007用户,因此暂推出excel2007专用版。 更多精彩,请访问我的博客:http://blog.sina.com.cn/ahzll...
  • Excel2007打不开xlsx文件,这在我的日常工作中是非常常见的现象,究其原因是因为大家用的Excel版本五花八门,而恰好不同版本的Excelxml代码规范又不一样,于是一个用Excel2013做的表格,如果里面还有很多批注或者...
  • EXCEL 2007 宝典 10/10

    2012-03-31 22:37:02
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • EXCEL 2007 宝典 9/10

    2012-03-31 22:35:46
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • EXCEL 2007 宝典 8/10

    2012-03-31 22:26:48
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • EXCEL 2007 宝典 7/10

    2012-03-31 22:17:34
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • EXCEL 2007 宝典 6/10

    2012-03-31 22:08:39
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • EXCEL 2007 宝典 5/10

    2012-03-31 21:59:23
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • EXCEL 2007 宝典 4/10

    2012-03-31 21:50:16
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • EXCEL 2007 宝典 3/10

    2012-03-31 21:39:31
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • EXCEL 2007 宝典 2/10

    2012-03-31 21:30:10
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • EXCEL 2007 宝典 1/10

    2012-03-31 21:16:22
    内容囊括了Excel 2007常见的基础操作和实际应用,主要包括基础对象的操作、条件格式和数据有效性、常见函数的定义和使用、图表的创建和使用、数据透视表、常见数据分析工具、自定义数据格式XML文件操作等用法。...
  • ExcelXML数据 • Excel与其他应用程序共享数据 • 使用Excel工作组 第7篇 Excel自动化 • 录制宏 • VBA语言基础 • 与Excel进行交互 • Excel的自定义函数 • 如何操作Excel工作簿、工作表和单元格 • 工作...
  • 10、增加了打印XML格式的HTML文档的功能(目前只支持部分HTML标记,支持表格及图片等标记,请参见DrawXML函数) 11、对帮助文件做了进一步的修订 12、增加了很多新的演示实例。 13、其他一些完善和修改。 本控件...
  • 2021-06-07

    2021-06-07 13:59:30
    发现python里面pandas库读取非标准excel(貌似是xml格式) 的一些问题。 最近想读取excel,xls后缀的,决定使用pandas读取,结果报错 XLRDError: Unsupported format, or corrupt file: Expected BOF record; ...
  • 184 在规范格式的日期数据中提取日期 360 ◎除去空格 362 185 将英文句子规范化 362 186 分别提取省/市/县名称 363 Chapter 06 逻辑函数应用实例 365 ◎真假值判断函数 366 187 判断员工性别信息是否...
  • 免费Spire.Office 组件

    2017-07-21 16:24:00
    对文档的操作包括打开,创建,修改,转换,打印,浏览 Word、Excel、PowerPoint® 和 PDF 文档,以及将数据从数据源导出为常用的文档格式,例如:Word,Excel,RTF,Access,PowerPoint,PDF,XPS,HTML,XML,Text...
  • 实例273 从XML文件中读取数据 实例274 对大文件实现分割处理 实例275 将分割后的文件重新合并 实例276 利用StreamTokenizer统计文件的字符数 实例277 序列化与反序列化对象 11.2 无组件的文件上传 实例278 单...
  • 实例273 从XML文件中读取数据 实例274 对大文件实现分割处理 实例275 将分割后的文件重新合并 实例276 利用StreamTokenizer统计文件的字符数 实例277 序列化与反序列化对象 11.2 无组件的文件上传 实例278 单...
  • 这是一款适用于中小企业的工资管理软件,具有以下特点: ... 5、由于目前Ribbon技术是1.0版本,还能实现可视化编程,必须手工修改xml参数, 同时为了兼顾广大非excel2007用户,因此暂推出excel2007专用版。。
  • JavaScript网页特效范例宝典源码

    千次下载 热门讨论 2013-09-04 10:40:38
    目录: 第1章 窗口/框架与导航条设计 1 1.1 弹出窗口控制 2 实例001 打开新窗口显示广告信息 2 ...11.5 套邮寄产品单 482 实例304 打印汇款单 482 实例305 打印快递单 484 实例306 打印信封 485 第...
  • 实例102 读取文本文件到Excel并对数据列进行格式化 实例103 将文本文件数据分解到Excel中的不同工作表 实例104 读取多个Word文档文件到Excel同一工作表 实例105 读取Access数据库中指定表数据到Excel 实例106 ...
  • 实例102 读取文本文件到Excel并对数据列进行格式化 实例103 将文本文件数据分解到Excel中的不同工作表 实例104 读取多个Word文档文件到Excel同一工作表 实例105 读取Access数据库中指定表数据到Excel 实例106 ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 133
精华内容 53
关键字:

excel打不开xml格式