ユーザー入力からデータを収集してMySQLに保存する調査サイトがあります。
一部のユーザーが、データのフォーマットされたExcelファイル(csvではなく注意)をダウンロードできるページにアクセスできるようにしたいと思います。
ODBCを使用すると、ExcelとMySQLのインターフェイスを使用できると聞きましたが、そのためのサーバー側アプリケーションが見つかりません。
出来ますか?
サイトにPHPを使用しています。
ありがとう
Excelはxhtmlを読み取ることができるため、データベースをExcelファイルにエクスポートすることは難しくありません。
情報を通常のHTMLテーブルとして出力するだけです
<table>
<tr>
<td>title</td>
</tr>
<tr>
<td>record1</td>
</tr>
</table>
次に、これらのヘッダーを追加して、自動ダウンロードとExcelファイルとしての解釈を強制します。
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename=\"{$yourFileName}\"" );
header ("Content-Description: PHP Generated Data" );
意図したとおりに機能するはずです。
編集:これは正しいXHTMLスキーマを持つxlsへのテーブルの例です:
<?php
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename=newtest.xls" );
header ("Content-Description: PHP Generated Data" );
?>
<html xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta name="Excel Workbook">
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 14">
<style>
#test
{
font-style:italic;
}
</style>
</head>
<body>
<table>
<tr>
<td><b>header in bold</b></td>
<td><i>header in italic</i></td>
</tr>
<tr>
<td>1</td>
<td><span style="font-weight:bold; font-style:italic">my data with css styling</span></td>
</tr>
<tr>
<td>2</td>
<td><span id="test">I'm italic 'cause I can read style</span></td>
</tr>
</table>
</body>
</html>