Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ปัญหาการเขียน php ให้สามารถอ่านไฟล์ excel ได้ค่ะ. Fatal error: Uncaught exception 'com_exception' with message..



 

ปัญหาการเขียน php ให้สามารถอ่านไฟล์ excel ได้ค่ะ. Fatal error: Uncaught exception 'com_exception' with message..

 



Topic : 052425



โพสกระทู้ ( 58 )
บทความ ( 0 )



สถานะออฟไลน์




คือว่าเราต้องการเขียน code php เพื่อให้อ่านไฟล์ excel(.xls) ที่ import ผ่านหน้าเวบได้น่ะค่ะ

เราได้ลองทำตามจากหัวข้อนี้



มันขึ้น erroro ดังนี้ค่ะ (อันนี้เปิดจาก firefox)

[glow=red]Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Office Excel<br/><b>Description:</b> Microsoft Office Excel äÁèÊÒÁÒöà¢éÒ¶Ö§á¿éÁ 'C:\AppServ\www\read_excel\MyXls\ex1.xls' ÁÕÊÒà˵طÕèà»ç¹ä»ä´éËÅÒ»ÃСÒà ä´éá¡è • äÁèÁÕª×èÍá¿éÁËÃ×ͪ×èÍàÊé¹·Ò§¹Ñé¹ • á¿éÁ¹Ñ鹶١ãªéâ´Ââ»Ãá¡ÃÁ»ÃÐÂØ¡µìÍ×è¹ • ÊÁØ´§Ò¹·Õè¤Ø³¡ÓÅѧ¾ÂÒÂÒÁºÑ¹·Ö¡ÁÕª×èÍà´ÕÂǡѺÊÁØ´§Ò¹·Õèà»Ô´ÍÂÙè㹻Ѩ¨ØºÑ¹' in C:\AppServ\www\read_excel\test.php:12 Stack trace: #0 C:\AppServ\www\read_excel\test.php(12): variant->Open('C:\AppServ\www\...') #1 {main} thrown in C:\AppServ\www\read_excel\test.php on line 12[/glow]

(อันนี้เปิดจาก IE)
[glow=red]Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Office Excel<br/><b>Description:</b> Microsoft Office Excel ไม่สามารถเข้าถึงแฟ้ม 'C:\AppServ\www\read_excel\MyXls\ex1.xls' มีสาเหตุที่เป็นไปได้หลายประการ ได้แก่ • ไม่มีชื่อแฟ้มหรือชื่อเส้นทางนั้น • แฟ้มนั้นถูกใช้โดยโปรแกรมประยุกต์อื่น • สมุดงานที่คุณกำลังพยายามบันทึกมีชื่อเดียวกับสมุดงานที่เปิดอยู่ในปัจจุบัน' in C:\AppServ\www\read_excel\test.php:12 Stack trace: #0 C:\AppServ\www\read_excel\test.php(12): variant->Open('C:\AppServ\www\...') #1 {main} thrown in C:\AppServ\www\read_excel\test.php on line 12[/glow]


แต่ว่ามัน connect excel ผ่านนะคะ ตรงบรรทัดนี้
$xlApp = new COM("Excel.Application");

แต่มัน open ไฟล์ไม่ได้อ่ะ เราเลยลอง echo ดูที่บรรทัดนี้
$strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"])));
ได้
C:\AppServ\www\read_excel ซึ่งในไฟล์ตัวอย่าง comment ว่าได้ C:/AppServ/www/myphp
เราเลยใช้ str_replace('\\','/',$strPath); เพื่อให้ได้ตามแบบตัวอย่าง

แต่มันก้อยังไม่ได้น่ะค่ะ

ใครเจออย่างเราบ้าง แล้วมีวิธีแก้ไขไหมคะ สับสนงงงวยมากมาย เพราะเราไม่ค่อยชำนาญคำสั่งที่เกี่ยวกับ path แต่เรา check แล้ว ไฟล์มันก้ออยู่ถูกที่ของมันนะคะ ใครรู้ช่วยตอบที ขอบคุณค่ะ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-29 16:00:01 By : KatMee View : 3931 Reply : 12
 

 

No. 1

Guest


ปกติใช้ com จะต้องเป็นโฮส iis และลง excel ไว้ด้วยครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-29 16:11:58 By : ...
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

มีสาเหตุที่เป็นไปได้หลายประการ ได้แก่ • ไม่มีชื่อแฟ้มหรือชื่อเส้นทางนั้น • แฟ้มนั้นถูกใช้โดยโปรแกรมประยุกต์อื่น • สมุดงานที่คุณกำลังพยายามบันทึกมีชื่อเดียวกับสมุดงานที่เปิดอยู่ในปัจจุบัน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-29 16:13:16 By : webmaster
 

 

No. 3



โพสกระทู้ ( 58 )
บทความ ( 0 )



สถานะออฟไลน์


ยังไงอ่ะค่ะ
คือว่าอันนี้รันใน localhost และในเครื่องก้อมี ms excel แล้วอ่ะค่ะ

ส่วน error ที่ฟ้องมา เรา check ดูหมดแล้วอ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-29 16:21:18 By : KatMee
 


 

No. 4



โพสกระทู้ ( 58 )
บทความ ( 0 )



สถานะออฟไลน์


ถามอีกอย่างหนึ่งค่ะ แล้วถ้าเราจะวนลูปให้อ่านจนจบไฟล์ ต้องเขียนยังไงคะ
เพราะในตัวอย่าง วนโดยใช้ loop for ใช้ EOF ได้หรือเปล่า แล้วมีรูปแบบอย่างไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-29 21:14:02 By : KatMee
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลองดูว่าไฟล์ excel ถูกเปิดไว้หรือเปล่าน่ะครับ หรือ End Task ตรง EXCEL.EXE ให้หมดครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-29 21:42:13 By : webmaster
 


 

No. 6



โพสกระทู้ ( 58 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณค่ะ ตอนนี้เปิดไฟล์ได้แล้วค่ะ ได้แบบ งงๆๆ

ตอนนี้อยากรู้รูปแบบการเขียนให้มันอ่านจนจบไฟล์โดยไม่ต้อง fix บรรทัดอ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-29 22:58:39 By : KatMee
 


 

No. 7

Guest


คงจะมีการเปิดไฟล์ทิ้งไว้น่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-29 22:59:58 By : ...
 


 

No. 8



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


พี่ๆครับ ผมเองก็เจอปัญหานี้เหมือนกัน เทสจาก source นี้เลยครับ และผมเองก็ทำตามจากคำแนะนำทุกคอมเม้นแล้วนะครับ
พยายามหาไฟลล์และปิดให้หมด ก็ขึ้นแบบนี้อ่ะครับ


D:\AppServ\www\test_excelMyXls/MyExcelDB.xlsMicrosoft Excel
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Office Excel<br/><b>Description:</b> Microsoft Office Excel cannot access the file 'D:\AppServ\www\test_excel\MyXls\MyExcelDB.xls'. There are several possible reasons: • The file name or path does not exist. • The file is being used by another program. • The workbook you are trying to save has the same name as a currently open workbook.' in D:\AppServ\www\test_excel\phpReadExcel.php:16 Stack trace: #0 D:\AppServ\www\test_excel\phpReadExcel.php(16): variant->Open('D:\AppServ\www\...') #1 {main} thrown in D:\AppServ\www\test_excel\phpReadExcel.php on line 16


source ก็ตัวนี้เลยครับ ขอคำแนะนำด้วยนะครับจนปัญญาจิงๆ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP(COM) Excel.Application Tutorial</title>
</head>
<body>
<?php
	//*** Get Document Path ***//
	$strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"]))); // C:/AppServ/www/myphp
	echo $strPath;
	
	$OpenFile = "MyXls/MyExcelDB.xls";
	echo $OpenFile;
	//*** Create Exce.Application ***//
	$xlApp = new COM("Excel.Application");
	echo $xlApp;
	$Book = $xlApp->Workbooks->Open($strPath.'/'.$OpenFile);
	
	$xlSheet1 = $xlBook->Worksheets(1);
	
?>
	<table width="420" border="1">
	<?php for($i=1;$i<=5;$i++){?>
	  <tr>
		<td><?=$xlSheet1->Cells->Item($i,1);?></td>
		<td><?=$xlSheet1->Cells->Item($i,2);?></td>
		<td><?=$xlSheet1->Cells->Item($i,3);?></td>
		<td><?=$xlSheet1->Cells->Item($i,4);?></td>
	  </tr>
	<?php }?>
	</table>
<?php
	//*** Close & Quit ***//
	$xlApp->Application->Quit();
	$xlApp = null;
	$xlBook = null;
	$xlSheet1 = null;
?>
</body>
</html>


เหมือนว่ามันติดปัญหาบรรทัดนี้อ่ะครับ

$Book = $xlApp->Workbooks->Open($strPath.'/'.$OpenFile);

รบกวนด้วยนะครับT_T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-12 22:21:29 By : gamboy123
 


 

No. 9



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Quote:
The file name or path does not exist. • The file is being used by another program


ดู Error นี้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-12 22:50:22 By : webmaster
 


 

No. 10

Guest


ตอบความคิดเห็นที่ : 9 เขียนโดย : webmaster เมื่อวันที่ 2011-01-12 22:50:22
รายละเอียดของการตอบ ::
The file name or path does not exist. • The file is being used by another program ไม่เข้าใจครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-12 18:03:27 By : tee
 


 

No. 11

Guest


ตอบความคิดเห็นที่ : 10 เขียนโดย : tee เมื่อวันที่ 2012-06-12 18:03:27
รายละเอียดของการตอบ ::
ขอเป็นตัวอย่างได้มั้ยครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-06-12 18:04:14 By : tee
 


 

No. 12



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Quote:
There are several possible reasons: • The file name or path does not exist. • The file is being used by another program. • The workbook you are trying to save has the same name as a currently open workbook.'


จัดไปตามนี้ครับ

ให้สร้างโฟเดอร์ตามนี้

・Windows 2008 Server x64
C:\Windows\SysWOW64\config\systemprofile\Desktop

・Windows 2008 Server x86
C:\Windows\System32\config\systemprofile\Desktop


อย่าลืมกำหนด Permission ให้โฟเดอร์ด้วย โดย User จะชื่อว่า IUSR หรือ IWAM เลือก Full Control

Go to : Unable to get the Open property of the Workbooks class (Excel 2003, 2007 Automation on Windows 2008 Server)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-28 14:25:03 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ปัญหาการเขียน php ให้สามารถอ่านไฟล์ excel ได้ค่ะ. Fatal error: Uncaught exception 'com_exception' with message..
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่