1

PHPExcel を使用して Excel ファイルを作成しています。日付値を保持する「日付」列がいくつかあります。ただし、PHPExcel では、日付フィールドを操作するために日付形式を定義する必要があります。例えば

const FORMAT_DATE_YYYYMMDD2             = 'yyyy-mm-dd';
const FORMAT_DATE_YYYYMMDD              = 'yy-mm-dd';
const FORMAT_DATE_DDMMYYYY              = 'dd/mm/yy';
const FORMAT_DATE_DMYSLASH              = 'd/m/y';
const FORMAT_DATE_DMYMINUS              = 'd-m-y';
const FORMAT_DATE_DMMINUS               = 'd-m';
const FORMAT_DATE_MYMINUS               = 'm-y';
const FORMAT_DATE_XLSX14                = 'mm-dd-yy';
const FORMAT_DATE_XLSX15                = 'd-mmm-yy';
const FORMAT_DATE_XLSX16                = 'd-mmm';

ただし、これらの形式のいずれかを使用する必要があるため、これには制限があります。私が望むのは、書式設定なしで (または特別な書式設定タイプを使用して) PHPExcel に日付を指定すると、Excel がユーザーの現在のロケールに従って日付を表示することです。この形式のいずれかを使用すると、米国に住んでいる人は、慣れていない別の時間形式を読んだり、別の国に住んでいるユーザーと同じ状況を読んだりします。つまり、Excel はユーザーの現在のロケールで日付を表示する必要があります。これはどういうわけか可能ですか?私はグーグルで検索しましたが、チャンスはありませんでした。

ありがとう。

4

1 に答える 1

0

ただし、これらの形式のいずれかを使用する必要があるため、これには制限があります。

定数の使用に制限されていません。MS Excel自体で日付のカスタムフォーマットマスクを定義できるのと同じように、PHPExcelでも定義できます。マスキングスティングを自分で定義する必要があります。

私が欲しいのは、フォーマットせずに(または特別なフォーマットタイプで)PHPExcelに日付を与えることであり、Excelはユーザーの現在のロケールに従って日付を表示します。私がこの形式の1つを使用すると、米国に住んでいる人は、彼が慣れていない別の時間形式を読んだり、さまざまな国に住んでいるユーザーにとって同じ状況を読んだりします。

ただし、ファイルがMSExcelロケールに基づいてMSExcelで表示される場合、その日付形式マスクを自動的に変更することはできません。

要するに、どういうわけかExcelはユーザーの現在のロケールで日付を表示する必要があります。これはどういうわけか可能ですか?

MS Excelにはこのオプションがありますか?もしそうなら、MSExcelでどのようにそれを行いますか?私はExcelのすべての機能を知っているわけではないので、それは可能かもしれません。しかし、私はあなたがそれをどのように行うかを知りません。

于 2011-05-22T12:32:16.600 に答える