仕事で多言語翻訳の問題に対処する必要があり、翻訳は Excel シートに書かれています。処理の都合上、中国語と英語の欄は残しておきます。
このように、Excelからデータを取り出してExcelの配列に保存し、ループ配列を使って対応するデータをデータベースに入れる必要があります。
作業の最初のステップは、Excel からデータを取得することです。ここではオープンソースの PHP Excel クラス phpexcel を使用します。プロジェクトの詳細は http://phpexcel.codeplex.com/ です。
現在バージョン phpexcel1.7.3 を使用しています。解凍すると、中に PHPExcel と PHPExcel.php ファイルがあります。
主にそのPHPファイルを使用します。下の図のファイルディレクトリ構造を参照してください
このバージョンはexcel2007をサポートしていると言われていますが、2007を使用して編集したxlsxはこのライブラリからサポートを受けることができません。そこで2003年に変換しました。とても協力的な感じがします。
具体的な使い方は以下で紹介します:
コードをコピー コードは以下の通り:
require_once('./phpexcel1.7.3/PHPExcel.php');
$php_excel_obj = new PHPExcel( );
$ php_reader = newPHPExcel_Reader_Excel2007();
if(!$php_reader->canRead($file_name)){
$php_reader= new PHPExcel_Reader_Excel5();
if(!$php_reader->canRead($file_name)) {
echo' NO Excel!';
}
}
$php_excel_obj = $php_reader->load($file_name);
$current_sheet =$php_excel_obj->getSheet(0);
上記のメイン関数は次のとおりです。関連する Excel クラスを初期化し、最初の Excel シートをロードします
コードをコピーします コードは次のとおりです:
$all_column =$current_sheet->getHighestColumn();
$all_row =$current_sheet-> ;getHighestRow();
上記はテーブルの最大列値(「G」などの文字表現)と最大行数(数値表現)をそれぞれ取得します
以下は、ループを使用して Excel のデータを Excel に読み取ります:
コードをコピーします コードは次のとおりです:
$all_arr = array();
$c_arr = array() ;
// 文字比較表
for($r_i<=$all_row; $r_i++){
$c_arr= array(); for($c_i= 'A'; $c_i<= 「B」 ; $c_i++ ; Break;
}
以下は、phpexcel の書き込み操作の簡単な説明です。この操作は、表示を容易にし、より美しい効果を得るためによく使用されます。
コードをコピーします
コードは次のとおりです:
require_once('./phpexcel1.7.3/PHPExcel.php');
$excel_obj = new PHPExcel();$objWriter = newPHPExcel_Writer_Excel5($excel_obj) ); $excel_obj->setActiveSheetIndex(0);$act_sheet_obj=$excel_obj->getActiveSheet();$act_sheet_obj->setTitle('sheet');
$act_sheet_obj->setCellValue('A1' , 'String Content');
$act_sheet_obj->setCellValue('A2', 26);
$file_name = "output.xls";
$objWriter->save($file_name);
コードは非常に単純です。まず、関連する Excel 書き込みクラスを初期化し、次にデータを書き込み、最後にそれを xls ファイルとして保存します。
出力効果は写真に示されています
http://www.bkjia.com/PHPjc/328088.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/328088.html技術記事仕事では多言語翻訳の問題に対処する必要があり、翻訳はすべて Excel テーブルに書かれています。処理の都合上、中国語と英語の欄は残しておきます。 これには、Excel からこれらのデータを抽出する必要があります...