いくつかのデータを.xlsファイルに保存する必要があります。PEARライブラリSpreadsheet_Excel_Writerを使用しようとしています。仕事です。しかし今、私はPEARなしでホスティングを扱っています。原因として、それは非常にひどいです。
Spreadsheet_Excel_Writerには多くの依存関係があります。スクリプトに含めることができるモジュールまたはコードが必要です。
どうも。
これはあまり知られていない形式ですが、MS Office はいわゆる Excel 2003 XML ファイルをサポートしています。これは実際には XML であり、最低限、次のような形式です。
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<Worksheet>
<Row>
<Cell>
<Data ss:Type="String">First</Data>
</Cell>
</Row>
</Worksheet>
</Workbook>
これは、PHP 拡張機能を使用せずに非常に簡単に生成でき、2003 年以降のどのバージョンの MS Excel でも正しく開くことができます。ファイル拡張子を.xls.xml
ユーザーがこのファイルを開いて Excel から保存すると、デフォルトで従来の XLS ファイルに変換されます。
@Alexander.Plutov がコメントで指摘しているように、これらのファイルを書き込むためのライブラリがあります。
IBM のサイトには、この形式と PHP に関する便利な (そしてより包括的な) ページがあります: http://www.ibm.com/developerworks/opensource/library/os-phpexcel/#N101F7
私は Spreadsheet Writer をよく使用していますが、あると便利ですが、複数のシートや書式設定を行う機能などが必要ない場合は、常に HTML を出力して送信するだけです。
header("Content-type: application/vnd.ms-excel")
「.xls」の拡張子を付けると、Excel または OpenOffice のスプレッドシート プログラム (Mac のスプレッドシート プログラムだと思います) がそれを開き、HTML をスプレッドシートとしてフォーマットします。
これはネイティブ ソリューションではありませんが、最終的には、エンド ユーザーにとってかなり良いものに見えます。HTML でテーブルを使用する必要がありますが、色/境界線、パディング、フォントの変更、rowspan、colspan などを追加して、少し制御することができます。ただし、関数や数式、または複数のシートはありません。
文字通り、PHPExcel: http: //phpexcel.codeplex.com/
http://www.bettina-attack.de/jonny/view.php/projects/php_writeexcel/を使用して います
私はそれを多くのプロジェクトに単純に含めましたが、それは魅力のように機能します.
Piskvor が提供するソース コードに注意してください。
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<Worksheet>
<Row>
<Cell>
<Data ss:Type="String">First</Data>
</Cell>
</Row>
</Worksheet>
</Workbook>
は有効な Excel ファイルではなく (少なくとも私のバージョンでは – Excel 2010)、次の例で修正された 2 つの必要な値が欠落しているため、開くことができず、エラー メッセージが表示されます (欠落している部分は、a 内に aとaWorkSheet
が必要です)。で文字列として指定された名前が必要です):Table
WorkSheet
ss:Name
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<Worksheet ss:Name="test">
<Table>
<Row>
<Cell>
<Data ss:Type="String">First</Data>
</Cell>
</Row>
</Table>
</Worksheet>
</Workbook>
これは実際に有効な Excel スプレッドシートになります。Piskvor のおかげで、この素晴らしいオープンで機械と人間が読み取り可能な形式を思い出すことができます。