Skip navigation.
主選單區塊
登入區塊
帳號:

密碼:


忘記密碼?

現在註冊!
搜尋區塊
線上人數
21人線上 (17人在瀏覽討論區)

會員: 0
遊客: 21

更多...

正在瀏覽:   1 名遊客





#1 已使用csv2csv檢查過後,學生資料還是無法匯入
if820413 2009/8/28 6:53
已按照之前發問後
使用csv2csv處理後,還是出現相同的問題
萬豐版匯入出現
警告
學號:98002 姓名:柯政宇 的學生班級( 1 年 甲 班 )填寫錯誤或班級尚未設定
簡易版出現
沒有傳入 $class_id 值,請檢查!

請問還有可能導致問題的原因為何。
煩請協助解決。
非常感謝!


#2 Re: 已使用csv2csv檢查過後,學生資料還是無法匯入
infodaes 2009/8/28 7:06
同樣問題
請銜接於原發問之後

您的問題
很明顯是~~資料格式問題
請尋求附近學校幫您檢視吧!


#3 Re: 已使用csv2csv檢查過後,學生資料還是無法匯入
if820413 2009/8/29 4:19
附近學校並沒有對學務系統及資料格式熟悉的資訊人員。
想再請教。
所謂的資料格式有問題,
檢視的方法為何?
有將匯入的資料
轉成
其他的格式。
發現問題還是存在?


#4 Re: 已使用csv2csv檢查過後,學生資料還是無法匯入
infodaes 2009/8/29 6:48
您的問題需要 case by case 處理
請將貴校欲匯入的新生檔案寄給我


#5 Re: 已使用csv2csv檢查過後,學生資料還是無法匯入
if820413 2009/8/29 9:00
已將檔案寄出到您的信箱
謝謝您的協助


#6 Re: 已使用csv2csv檢查過後,學生資料還是無法匯入
yklm 2009/8/29 13:26
小弟於8月15日升級至3.0-2009-08-16 06:10(stable) ,將製作好的csv檔案匯入,但不為接受,試了幾次仍是一樣,因為有點急,只好又將程式恢復升級前(3.0-2009-02-17 06:10(stable)),同樣的csv檔案卻成功了,真報歉,因有事要忙,便有沒再試,小弟也不知問題所在。


#7 Re: 已使用csv2csv檢查過後,學生資料還是無法匯入
yklm 2009/8/29 13:42
不好意思又來了!
剛剛看了infodaes大大之前的回覆:
1.要匯入的資料,請記得文字欄位得要有雙引號包覆
2.可利用 本網站提供的 Csv2Csv.exe 程式快速達到這個需求

----------------------------------------------------------
找到了hami大大之前的回覆

Re: Fedora Core 4 的 PHP 5.0.4 中的 fgetcsv 有問題, 會導致匯
Fedora core 4 包的 php5 版本,對 csv 格式較為嚴謹,文字欄位須以 " " 雙引號夾住,才能正常讀出,例如:

"學號","座號","姓名","生日"
"94001",1,"王大明",1998-2-1
"94002",2,"陳小華",1998-5-1

下列的格式會出錯

學號,座號,姓名,生日
94001,1,王大明,1998-2-1
94002,2,陳小華,1998-5-1

--------

在轉存 csv 時可選擇文字欄位匯出格式加上 "" ,如此就能正常讀出資料了。


---------------------------------------------------------

小弟的疑問
(1)請問一下那如果由excel製作csv檔(逗號檔)是不能用的嗎?
(2)看了之前的訊息,與主機的版本有關嗎?(B2D、Fedora,或是PHP的版本)


#8 Re: 已使用csv2csv檢查過後,學生資料還是無法匯入
infodaes 2009/8/29 15:30
1.如果你可以命令EXCEL儲存CSV時,文字型欄位用雙引號包覆 那當然是可以用來匯入的!
2.跟PHP版本有關,因為匯入CSV是使用PHP裡面的fgetcsv()


#9 Re: 已使用csv2csv檢查過後,學生資料還是無法匯入
brucelyc 2009/8/30 22:53
看看PHP指令說明吧!

============================================================

fgetcsv

(PHP 3>= 3.0.8, PHP 4 )
fgetcsv -- 從文件指針中讀入一行並解析 CSV 字段
說明
array fgetcsv ( int fp, int length [, string delimiter [, string enclosure]])

和 fgets() 類似,只除了 fgetcsv() 解析讀入的行並找出 CSV 格式的字段然後傳回一個包含這些字段的陣列。字段分隔符是逗號,或者用可選的第三個參數另外指定。字段用雙引號包圍,或者用可選的第四個參數另外指定。Delimiter 和 enclosure 不能是 null 並且只有第一個字元有效。

fp 必須是通過 fopen(),popen() 或者 fsockopen() 成功打開的有效文件指針。

length 必須大於 CVS 文件中長度最大的行(以便於處理行結束字元)。

fgetcsv() 出錯時傳回 FALSE,包括碰到文件結束時。

註: CSV 文件中的空行將被傳回為一個包含有單個 NULL 字段的陣列,不會被當成錯誤。

enclosure 是 PHP 4.3.0 新加的。

============================================================

依這個說明來看, 是PHP 4.3.0以後發生的...


#10 Re: 已使用csv2csv檢查過後,學生資料還是無法匯入
brucelyc 2009/8/30 23:01
後記:

又查了查資料, 以下是最新的語法, 含更新說明:

array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure [, string $escape ]]]] )

escape
Set the escape character (one character only). Defaults as a backslash (\)



Changelog

Version Description
5.3.0 The escape parameter was added
4.3.5 fgetcsv() is now binary safe
4.3.0 The enclosure parameter was added






可以查看帖子.
不可發帖.
不可回復.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.

[高級搜尋]


Powered by XOOPS2 繁體中文版 © 2001-2008 The XOOPS Project