用phpExcelReader不能匯入大量資料

來源:互聯網
上載者:User
我在網上找了個例子,可以通過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之後就不能匯入了。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.