php - 将 HTML 表格导出为 CSV 文件
问题描述
我正在制作一个脚本,该脚本从您的邮件中获取表格并将其放入 CSV 文件中。
这是我用来将我的 html 表传输到 CSV 的代码
$html = str_get_html($outputstr);
// For Excel
header('Content-type: application/ms-excel');
// Download File
header('Content-Disposition: attachment; filename=sample.csv');
$fp = fopen("php://output", "w");
// Take out empty lines
foreach($html->find('tr') as $element) {
$td = array();
foreach( $element->find('th') as $row) {
$td [] = $row->plaintext;
}
foreach( $element->find('td') as $row) {
$td [] = $row->plaintext;
}
fputcsv($fp, $td);
}
fclose($fp);
我得到的唯一问题是,当我打开 CSV 文件时,一些空列有一个奇怪的字符:
我无法通读我的 PHP 脚本以将其导出到数据库
fgetcsv($handle, 1000, "\t");
我该如何解决这个问题?
我是否可以通过修改创建 CSV 文件的部分的代码或在将 CSV 文件传输到 MySQL 数据库时读取的部分的代码来解决此问题?
当我使用在线 html 到 CSV 转换器时,它工作正常,然后我没有遇到这个问题。
如果需要任何代码,那么我很乐意分享。
任何帮助,将不胜感激。
解决方案
您是否尝试过将字符集设置为 UTF-8?此外,您没有将其设置为带有标题的 CSV,而是一个 Excel 文件。
header("content-type:application/csv;charset=UTF-8");
推荐阅读
- excel - 如何将已关闭工作簿的范围引用到数据验证
- c# - .Net 中的 Apache PdfBox 库
- r - 在 R 中提取和应用多项式方程
- loops - Arduino 循环会增加时钟周期,为什么?
- ruby-on-rails - 参数丢失或为空 - jsonapi rails
- java - 通过 Criteria api 在 LIKE 中转义字符
- node.js - Sequelize - 如何在查询结果中包含新属性?
- c - 指向结构的指针数组 - 为什么需要 malloc(),为什么需要直接字段副本?
- javascript - 如何更改 vue-cookie-law 默认 Props
- solidworks - 在 Solidworks 中烧烤