html 表格到 CSV 或 Excel


html table to CSV or Excel

好吧,我开始有点疯狂了...

j查询表到CSV导出

我正在看那个线程。

它确实有效,但输出通过每个 LINE 而不是 HTML 表行执行所有操作。 例如,我有一个位于一个 HTML 单元格中的地址:

1234 Berryman Lane
Atlanta, GA 12345
Unit # 54A

当它输出到 excel 时,这将是三行,而不是一个单元格,其中包含返回。

此外,据

我所知,没有办法使用该解决方案去除 HTML 单元格内的 HTML......

最后,Excel 在打开该文件时会发出警告。


的意思是,我宁愿拥有一些可以获取HTML单元格中最内部数据(不包括单元格内的HTML)并将其转换为CSV的东西。 这些天有什么做得好吗?


更新

好吧,我刚刚找到了最好的东西,这是非常完美的:

$table = 'myTable';
$file = 'exportFile';
$result = mysql_query("SHOW COLUMNS FROM ".$table."");
$i = 0;
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
$csv_output .= "'"" . $row['Field']."'",";
$i++;
}
}
$csv_output .= "'n";
$values = mysql_query("SELECT * FROM ".$table."");
while ($rowr = mysql_fetch_row($values)) {
for ($j=0;$j<$i;$j++) {
$csv_output .= "'"" . $rowr[$j]."'",";
}
$csv_output .= "'n";
}
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;

我想这是我的守护者。 它进入一个没有问题的CSV文件,在Excel中加载没有问题,这是我的梦想成真!

好吧,如果您使用.xls文件类型,则始终可以在Excel中使用相同的标记,因为它可以呈现html,呈现HTML表并将内容类型更改为"application/vnd.ms-excel",为该响应指定文件名为*.xls并且您应该有一个可用的Excel工作表。

如果数据中没有引号,则可以将每个单元格的内容括在双引号中,使数据如下所示:

"...","...","..."

现在,您可以在数据中使用逗号。您可能还需要处理数据中的新行和返回,最好完全删除它们,但这取决于您。

感谢您的所有建议。 正如我编辑的帖子中所述,下面的脚本是一个很好的解决方案:

$table = 'myTable';
$file = 'exportFile';
$result = mysql_query("SHOW COLUMNS FROM ".$table."");
$i = 0;
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
$csv_output .= "'"" . $row['Field']."'",";
$i++;
}
}
$csv_output .= "'n";
$values = mysql_query("SELECT * FROM ".$table."");
while ($rowr = mysql_fetch_row($values)) {
for ($j=0;$j<$i;$j++) {
$csv_output .= "'"" . $rowr[$j]."'",";
}
$csv_output .= "'n";
}
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;

我想这是我的守护者。 它进入一个没有问题的CSV文件,在Excel中加载没有问题,这是我的梦想成真!