我在'2012-08-09 00:00:00'(没有引号)格式从MS SQL服务器获取输出.
但是,当我将它写入excel文件时,我无法以日期格式编写它以在excel上进行dd mmm yyyy格式化.
结果我试着用format = date(2012,08,09)作为相应单元格的公式.
但我不想将其作为公式输出,而是将值'09 Aug 2012'输出,数据类型完整性保持不变.我该怎么做呢?还是有一个更简单的方法?
我仔细阅读了文档,但我不清楚,以为我会要求澄清.
问候.
很抱歉没有足够详细.
我正在使用PHPExcel库.
从我的sql数组,我使用以下内容:
$t_year = substr($xls_column_datas["colname"],0,4);
$t_month = substr($xls_column_datas["colname"],5,2);
$t_day = substr($xls_column_datas["colname"],8,2);
$t_format = $t_year . "," . $t_month . "," . $t_day ;
$t_format = '=date('.$t_format.')';
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($data_column_num, $data_row_num, $t_format );
$objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($data_column_num, $data_row_num)->getNumberFormat()->setFormatCode('[$-C09]d mmm yyyy;@');
Run Code Online (Sandbox Code Playgroud)
在我的Excel输出中,它显示了A2列,例如= DATE(2012,8,9)
而不是显示为公式我想要excel认识'2012-08-09 00:00:00'是一个日期时间并将其格式化为dd mmm yyyy.
这变得清晰吗?抱歉.
Mar*_*ker 13
从MS SQL获取日期作为日期/时间或设置Excel日期是您的问题吗?
PHPExcel文档的整个部分解释了使用PHPExcel_Shared_Date::PHPToExcel($PHPDate)和PHPExcel_Shared_Date::FormattedPHPToExcel($year, $month, $day, $hours=0, $minutes=0, $seconds=0)帮助器方法将PHP日期转换为您设置为单元格值的Excel日期时间戳值,然后应用其中一个日期掩码的数字格式掩码比如PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2那个牢房
代替
$t_year = substr($xls_column_datas["colname"],0,4);
$t_month = substr($xls_column_datas["colname"],5,2);
$t_day = substr($xls_column_datas["colname"],8,2);
$t_format = '=date('.$t_format.')';
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($data_column_num, $data_row_num, $t_format );
$objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($data_column_num, $data_row_num)->getNumberFormat()->setFormatCode('[$-C09]d mmm yyyy;@');
Run Code Online (Sandbox Code Playgroud)
尝试设置
$t_year = substr($xls_column_datas["colname"],0,4);
$t_month = substr($xls_column_datas["colname"],4,2); // Fixed problems with offsets
$t_day = substr($xls_column_datas["colname"],6,2);
$t_date = PHPExcel_Shared_Date::FormattedPHPToExcel($t_year, $t_month, $t_day);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(
$data_column_num, $data_row_num, $t_date
);
$objPHPExcel->getActiveSheet()
->getStyleByColumnAndRow($data_column_num, $data_row_num)
->getNumberFormat()->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14
);
Run Code Online (Sandbox Code Playgroud)