導航:首頁 > 編程語言 > php導入excel日期格式

php導入excel日期格式

發布時間:2022-08-01 00:04:39

1. php將Excel導入資料庫中

如果小的話,可以直接導入excel文件,如果大的話,請先存成csv文件,然後通過mysql
的load
data導入資料庫

2. phpexce讀取excel時,日期格式處理

編輯Excel中的時間這一列,選擇單元格格式,設置為 文本 (當前估計是自定義格式hh:mm),然後再導入應該就沒問題了

3. php中excel時間出現問題!~

你讀入的數據要格式化後輸出,使用date函數,date函數的參數意義好多,自己查一下吧,會找到滿足你的要求的設置的。

4. PHP從excel批量導入時間

1在存之前你可以列印部分數據看看寫到資料庫的是什麼
2.可以嘗試換一下欄位類型,如換成char的
3,我覺得這些完全可以先轉成unix時間戳,再存到資料庫,用int欄位存,拿出來的時候再格式化一下就行了,很方便

5. php讀取excel中的日期出錯。

1、工作簿處於「公式審核」狀態,按ctrl+~切回到正常工作狀態就可以。
2、如果還不行,請在表格之外任意一處把單元格設置成日期格式,然後隨便填一個日期,再用格式刷刷你表格中的日期
方法:
寫入excel的時候在時間上加『』,讓他變成字元串,讀取就沒錯了。
excelTime的函數也可以正確轉化時間

error_reporting(E_ALL);
date_default_timezone_set('Asia/shanghai');
/** PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';
$inputFileName = '6081076641077444758.xls';
$objReader = new PHPExcel_Reader_Excel5();
$objPHPExcel = $objReader->load($inputFileName);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumn = $sheet->getHighestColumn(); // 取得總列數

$tempArray = array();
for($j=2;$j<=$highestRow;$j++){
for($k='A';$k<=$highestColumn;$k++){
if($k=='M'||$k=='O') //M列和O列是時間
$tempArray[] = excelTime($objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue());
else
$tempArray[] = $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();
}
print_r($tempArray);
unset($tempArray);
}

function excelTime($date, $time = false) {
if(function_exists('GregorianToJD')){
if (is_numeric( $date )) {
$jd = GregorianToJD( 1, 1, 1970 );
$gregorian = JDToGregorian( $jd + intval ( $date ) - 25569 );
$date = explode( '/', $gregorian );
$date_str = str_pad( $date [2], 4, '0', STR_PAD_LEFT )
."-". str_pad( $date [0], 2, '0', STR_PAD_LEFT )
."-". str_pad( $date [1], 2, '0', STR_PAD_LEFT )
. ($time ? " 00:00:00" : '');
return $date_str;
}
}else{
$date=$date>25568?$date+1:25569;
/*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/
$ofs=(70 * 365 + 17+2) * 86400;
$date = date("Y-m-d",($date * 86400) - $ofs).($time ? " 00:00:00" : '');
}
return $date;
}

6. php怎麼導入大量數據的excel

php導出大量數據的Excel:
PHP從資料庫分多次讀取100萬行記錄,和分多次將100萬行寫入文本文件都沒問題
Excel可以支持100萬行記錄,Excel 2003最大支持65536行,從2007版開始支持104萬行了,目前2007的盜版應該比較普及了-_-! 問清楚客戶是什麼版本。
要導出excel的理由是非常充分和正確的,應該繼續堅持。業務人員最熟悉的就是Excel,實在不熟悉現學現用也比別的快。只是要注意,當數據量達到10萬行這個級別時,Excel的公式填充將會非常非常慢,如果再有LOOKUP()公式,基本上十分鍾內處理CPU滿載進程管理器殺不掉的狀態,這時候其實xampp + phpmyadmin是一個易用性和性能都最平衡的選擇
PHPExcel輸出的是Excel XML格式,有個XML頭和尾,中間是數據Body,需要將100萬行都賦值給一個數組才可以調用PHPExcel->write(),這容易導致PHP執行超時或者內存超限,不妨調整一下php.ini配置,把超時時間和內存限制都改到很大
如果是輸出csv格式,那就太簡單了,你的問題可能是沒給欄位內容加引號,加上引號再調用fputcsv試試?其實fputcsv做的事情特別簡單,你甚至可以不管它,自己把CSV文件的每一行拼接好了之後用file_put_contents寫入

7. php excel 導入mysql 時間問題

時間格式在EXCEL內部值為時間序列(1900,或者1904格式)。1900-1-1默認時間序列為1,以此類推。

8. PHP如何導入導出Excel

最近在PHP培訓學習過程中,需要開發一個模塊,把系統中的一些數據導出成Excel,修改後再導回系統。就趁機對這個研究了一番,下面進行一些總結。雖然我們在平時用的也有一些,但沒有作者列出來的全,寫excel的時候,我用過pear的庫,也用過pack壓包的頭,同樣那些利用smarty等作的簡單替換xml的也用過,csv的就更不用談了。但是在讀的時候,只用過一種,具體是什麼忘了,要回去翻代碼了。
基本上導出的文件分為兩種:
1:類Excel格式,這個其實不是傳統意義上的Excel文件,只是因為Excel的兼容能力強,能夠正確打開而已。修改這種文件後再保存,通常會提示你是否要轉換成Excel文件。優點:簡單。缺點:難以生成格式,如果用來導入需要自己分別編寫相應的程序。2:Excel格式,與類Excel相對應,這種方法生成的文件更接近於真正的Excel格式。
如果導出中文時出現亂碼,可以嘗試將字元串轉換成gb2312,例如下面就把$yourStr從utf-8轉換成了gb2312:$yourStr = mb_convert_encoding(」gb2312″, 「UTF-8″, $yourStr);
下面詳細列舉幾種方法。
1:利用smarty,生成符合Excel規范的XML或HTML文件支持格式,非常完美的導出方案。不過導出來的的本質上還是XML文件,如果用來導入就需要另外處理了。詳細內容請見rardge大俠的帖子:http://bbs.chinaunix.net/viewthread.php?tid=745757
需要注意的是如果導出的表格行數不確定時,最好在模板中把」ss:ExpandedColumnCount=」5″ ss:ExpandedRowCount=」21″」之類的東西刪掉。

2、利用pack函數列印出模擬Excel格式的斷句符號,這種更接近於Excel標准格式,用office2003修改後保存,還不會彈出提示,推薦用這種方法。缺點是無格式。
PHP代碼<?php // Send Header header(」Pragma: public」); header(」Expires: 0″); header(」Cache-Control: must-revalidate, post-check=0, pre-check=0″); header(」Content-Type: application/force-download」); header(」Content-Type: application/octet-stream」); header(」Content-Type: application/download」);; header(」Content-Disposition: attachment;filename=test.xls 「); header(」Content-Transfer-Encoding: binary 「); // XLS Data Cell xlsBOF(); xlsWriteLabel(1,0,」My excel line one」); xlsWriteLabel(2,0,」My excel line two : 「); xlsWriteLabel(2,1,」Hello everybody」); xlsEOF(); function xlsBOF() { echo pack(」ssssss」, 0×809, 0×8, 0×0, 0×10, 0×0, 0×0); return; } function xlsEOF() { echo pack(」ss」, 0×0A, 0×00); return; } function xlsWriteNumber($Row, $Col, $Value) { echo pack(」sssss」, 0×203, 14, $Row, $Col, 0×0); echo pack(」d」, $Value); return; } function xlsWriteLabel($Row, $Col, $Value ) { $L = strlen($Value); echo pack(」ssssss」, 0×204, 8 + $L, $Row, $Col, 0×0, $L); echo $Value; return; } ?> 不過筆者在64位linux系統中使用時失敗了,斷句符號全部變成了亂碼。
3、使用製表符、換行符的方法 製表符」\t」用戶分割同一行中的列,換行符」\t\n」可以開啟下一行。 <?php header(」Content-Type: application/vnd.ms-execl」); header(」Content-Disposition: attachment; filename=myExcel.xls」); header(」Pragma: no-cache」); header(」Expires: 0″); /*first line*/ echo 「hello」.」\t」; echo 「world」.」\t」; echo 「\t\n」; /*start of second line*/ echo 「this is second line」.」\t」; echo 「Hi,pretty girl」.」\t」; echo 「\t\n」;

閱讀全文

與php導入excel日期格式相關的資料

熱點內容
廣播PDF 瀏覽:216
單片機編程300例匯編百度 瀏覽:33
騰訊雲連接不上伺服器 瀏覽:221
不能用來表示演算法的是 瀏覽:859
6軸機器人演算法 瀏覽:890
手機主題照片在哪個文件夾 瀏覽:294
安卓手機後期用什麼軟體調色 瀏覽:628
cad修改快捷鍵的命令 瀏覽:242
好錢包app怎麼登錄不了 瀏覽:859
樹莓派都用python不用c 瀏覽:757
access文件夾樹的構造 瀏覽:662
安卓多指操作怎麼設置 瀏覽:658
linux樹形目錄 瀏覽:727
平方根的簡單演算法 瀏覽:898
千牛訂單頁面信息加密取消 瀏覽:558
單片機自製紅外遙控燈 瀏覽:719
伺服器最小配置怎麼弄 瀏覽:853
ibm伺服器硬體如何升級 瀏覽:923
全球程序員節點贊 瀏覽:986
php函數傳遞數組 瀏覽:632