javascript - 如何将html表单转换为excel文件?
问题描述
我正在制作一个 html 表单并想将表单转换为 excel 文件
<table style="border: 1px solid black;">
<tr><td colspan="2"style="border: 1px solid black;"><text style="text-align:center;"><h4>A/U/S/H</h4></text></td></tr>
<tr>
<td rowspan="5" style="border: 1px solid black;"><h4 style="text-align:center;">code</h4></td>
<td style="border: 1px solid black;">Ay-NIA/code of peripheral centre/ADR Number/Year</td>
</tr>
<tr>
<td style="border: 1px solid black;">Ay-IPGT/code of peripheral centre/ADR Number/Year</td>
</tr>
<tr>
<td style="border: 1px solid black;">
Un-NIUM/code of peripheral centre/ADR Number/Year
</td>
</tr>
</table>
解决方案
您可以使用 str_get_html http://simplehtmldom.sourceforge.net/
请查看以下示例:
include "simple_html_dom.php";
$table = '<table border="1">
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>';
$html = str_get_html($table);
header('Content-type: application/ms-excel');
header('Content-Disposition: attachment; filename=sample.csv');
$fp = fopen("php://output", "w");
foreach($html->find('tr') as $element)
{
$td = array();
foreach( $element->find('th') as $row)
{
$td [] = $row->plaintext;
}
fputcsv($fp, $td);
$td = array();
foreach( $element->find('td') as $row)
{
$td [] = $row->plaintext;
}
fputcsv($fp, $td);
}
fclose($fp);
推荐阅读
- c# - 如何将此xml反序列化为对象?
- c - C 中的 for 或 while 循环 for char 等
- docker - 在 docker jenkins setup 中从 cli 将新插件安装到 jenkins
- python-3.x - 语音活动检测
- javascript - 为什么我的数据会在控制台中出现 4 次?
- python - 使用 numpy.fft 的卷积导致时移
- c++ - 你能回答我关于 cpp 网络编程(更准确地说是 abot asio 库)的问题吗?
- vi - 如何仅在包含 string1 的行上将 string2 更改为 string3?
- android - fusedLocationClient.getLastLocation 总是返回 NULL
- lotus-notes - 通过 Lotus Notes 创建定期约会