我正在做一个项目,需要使用jquery将html表导出到excel表。我有所需的插件,但我不能做的是在excel打开文件时设置列宽,我已经尝试过设置<th style="width:70px;">,也为相关表设置table-layout:fixed; width:100%;。我也在工作表中尝试过<DefaultColumnWidth>1</DefaultColumnWidth>,但没有成功。我只需要所有列的宽度相等,行的高度根据单元格的内容而变化。我有办法做到这一点吗?我也可以使用其他插件将html表转换为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>
    <meta name=ProgId content=Excel.Sheet>
    <meta name=Generator content="Microsoft Excel 11">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>Hourly Summary Report</x:Name><x:WorksheetOptions><x:DefaultColumnWidth>16</x:DefaultColumnWidth><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head>
<body>
    <table style="table-layout:fixed; width:100%;"><thead>
    <tr>
        <th style="text-align:center; vertical-align:middle; word-wrap: break-word;">This sentence badly needs a word wrap</th>
        <th style="text-align:center; vertical-align:middle;">Industrial Robots</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td class="bg-black disabled color-palette" style="text-align:center; vertical-align:middle; font-weight:bold;">13 Jun 2017 12:00 AM - 13 Jun 2017 01:00 AM</td>
    </tr>
</tbody>
</table>

最佳答案

结果,当excel在html中提供嵌套表时,它会变得异常。因此,当我删除表标记时,所有样式都开始在excel中正常工作。为了方便其他人查看此答案,请注意,删除<table>, </table>标记是必要且足够的。DOM的其余部分可以与excel一起工作。

关于jquery - 使用HTML表格为Excel指定列宽和行高,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44771403/

10-16 14:43