可以通过以下步骤实现:
以下是一个简单的示例代码:
<?php
// 连接到MS SQL数据库
$conn = mssql_connect('server', 'username', 'password');
mssql_select_db('database', $conn);
// 查询HTML表数据
$query = mssql_query('SELECT * FROM table', $conn);
$data = array();
while ($row = mssql_fetch_assoc($query)) {
$data[] = $row;
}
// 创建Word文档
$docx = new ZipArchive();
$docx->open('output.docx', ZipArchive::CREATE);
// 生成Word内容
$dom = new DOMDocument();
$dom->formatOutput = true;
$table = $dom->createElement('table');
foreach ($data as $row) {
$tr = $dom->createElement('tr');
foreach ($row as $value) {
$td = $dom->createElement('td', $value);
$tr->appendChild($td);
}
$table->appendChild($tr);
}
$dom->appendChild($table);
// 将HTML转换为Word内容
$html = $dom->saveHTML();
$html = preg_replace('/<!DOCTYPE.*?>/', '', $html);
$html = preg_replace('/<(\/)?html>/', '', $html);
$html = preg_replace('/<(\/)?body>/', '', $html);
$html = preg_replace('/<(\/)?table>/', '<$1w:tbl>', $html);
$html = preg_replace('/<(\/)?tr>/', '<$1w:tr>', $html);
$html = preg_replace('/<(\/)?td>/', '<$1w:tc>', $html);
// 将Word内容添加到docx文件
$docx->addFromString('word/document.xml', $html);
// 关闭docx文件
$docx->close();
// 下载生成的docx文档
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="output.docx"');
readfile('output.docx');
?>
这个示例代码演示了如何使用PHP从MS SQL数据库中查询HTML表数据,并将其转换为docx文档进行下载。请根据实际情况修改数据库连接信息和查询语句。
领取专属 10元无门槛券
手把手带您无忧上云