我在網上找了個例子,可以通過phpexcel將excel檔案匯入到資料庫中,但是資料一旦超過122條,例如一個excel檔案中有123條資料就無法匯入。我講代碼貼出來,大家看看:
require_once '../phpExcelReader/Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('GB2312');
$data->read('../lfx.xls');
}
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++)
{
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
{
echo $data->sheets[0]['cells'][$i][$j];
}
}
以上代碼在excel檔案小於123條時就可以列印出所有記錄在網頁上,但是大於等於123條時就是空白,而我需要匯入一個5000條以上的資料,苦惱中。
附上phpExcelReader以及我的excel
感謝各位了!
回複討論(解決方案)
那你分批匯入試試。一次100條或者122條。
額,主要是無法確定每次匯入的資料有多少條,有可能下次只匯入10條,有可能匯入8000條,所以不知道怎麼做哦
那你分批匯入試試。一次100條或者122條。
匯入的資料有中文嗎?要是有的話,估計就不太處理了,一直沒把含有中文字元的鼓搗好,我原來上傳過一個excel的東西,我現在用它,一次1萬條資料 是沒有問題的,只不過速度慢點
就是有中文哦,你的還在麼,可不可以發我看下呀,嘿嘿!
匯入的資料有中文嗎?要是有的話,估計就不太處理了,一直沒把含有中文字元的鼓搗好,我原來上傳過一個excel的東西,我現在用它,一次1萬條資料 是沒有問題的,只不過速度慢點
你使用了session,超最大值了。
這樣呢?:
# 讀取並顯示 CSV 檔案的整個內容 $num fields in line $row:
\n"; $row++; for ($c=0; $c < $num; $c++) { echo $data[$c] . "
\n"; }}fclose($handle);?>
沒有使用吧,哪裡可以看出使用了session呢?
你使用了session,超最大值了。
可是要匯入的是excel檔案呀,尾碼名是xls的
這樣呢?:
PHP code
# 讀取並顯示 CSV 檔案的整個內容
$row = 1;
$handle = fopen("test.csv","r");
while ($data = fgetcsv($handle, 1000, ",")) {
$num = count($data);
echo "
$num fields in line $row: ……
/* * PHPExcel.V1.7.6版本 [讀取樣本] */include 'PHPExcel/IOFactory.php';$filename = "d:/test.xls";$readType = PHPExcel_IOFactory::identify($filename); //在不知道文件類型的情況下擷取$excelReader = PHPExcel_IOFactory::createReader($readType);$PHPExcelObj = $excelReader->load($filename);$currentSheet = $PHPExcelObj->getSheet(0); //選取第一張表單(Sheet1)為當前操作的表單$excelRows = $currentSheet->getHighestRow(); //擷取最大行$excelColumn = $currentSheet->getHighestColumn(); //擷取最大列foreach(range(1,$excelRows) as $row){ $line = ''; foreach(range('A',$excelColumn) as $column){ $line .= $currentSheet->getCell($column.$row)->getValue().","; } $line .= '
'; echo $line;}
參考該貼:
http://topic.csdn.net/u/20120517/11/746a745b-27dd-4f54-9882-80d3bf68fb15.html
我去這個文章最後給出的網站下載了最新的phExcelReader2.21,還是無法列印出122條以上的內容,121條以內的都可以列印出來。
參考該貼:
http://topic.csdn.net/u/20120517/11/746a745b-27dd-4f54-9882-80d3bf68fb15.html
匯入訊息佇列, 線下入庫吧.
似乎有點進階,有沒有例子呀?
匯入訊息佇列, 線下入庫吧.
似乎有點進階,有沒有例子呀?
引用 13 樓 的回複:
匯入訊息佇列, 線下入庫吧.
這是回複給你另一個文章的,不是這個問題。
網上參考別人的案例。從基礎開始。
前段時間我使用了這個類,匯入2000行的excel檔案就失敗,不過500行的excel是沒問題的。
那是怎麼回事呢,你有解決嗎?
前段時間我使用了這個類,匯入2000行的excel檔案就失敗,不過500行的excel是沒問題的。
我在網上找了個例子,可以通過phpexcel將excel檔案匯入到資料庫中,但是資料一旦超過122條,例如一個excel檔案中有123條資料就無法匯入。我講代碼貼出來,大家看看:
require_once '../phpExcelReader/Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutput……
用這個吧:http://www.phpclasses.org/package/6235-PHP-Parse-and-access-binary-Excel-files-in-pure-PHP.html
用過後覺得很不錯,支援中文,支援xlsx格式,可以遍曆解析所有的表、列、行、以及儲存格。之前也是用的phpExcelReader,發現問題比較多,於是找到這個。
怪了,用這個匯入122條可以,123條也不行。 你下載我的excel試試
引用樓主 的回複:
我在網上找了個例子,可以通過phpexcel將excel檔案匯入到資料庫中,但是資料一旦超過122條,例如一個excel檔案中有123條資料就無法匯入。我講代碼貼出來,大家看看:
require_once '../phpExcelReader/Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$da……
我的是281.。。281之後就不能匯入了。