ทางเลือกสำหรับ PHP_excel


132

มีทางเลือกอื่นสำหรับ PHP_excel ซึ่งสามารถ "ส่งออกเป็นไฟล์ XLSX / XLS" ในรูปแบบที่กำหนดเองได้หรือไม่?

นี่คือคำถามอ้างอิงทั่วไปสำหรับ แท็ก


2
เนื่องจากคำถามที่ถามบ่อยเกี่ยวกับไลบรารีที่สามารถอ่าน / เขียนไฟล์ Excel มักถูกชี้ไปที่คำตอบนี้เนื่องจากรายการที่ให้ไว้ ... และรายการที่เป็นปัญหาได้รับการอัปเดตเป็นประจำฉันจึงไม่เข้าใจว่าทำไมจึงควรปิด
Mark Baker

1
ฉันไม่ได้เป็นหนึ่งในผู้ปิด แต่เหตุผลในช่อง "ปิดเป็นนอกหัวข้อ" ดูเหมือนจะใกล้เคียงกับฉันมาก ดู ALS: ทำไมช้อปปิ้งคำถามรายการที่ไม่ดี ฉันตระหนักดีว่าคำตอบของคุณมีคุณภาพสูงและได้รับการอัปเดต แต่คำถามก็ยังคงอยู่ในหมวดหมู่นอกหัวข้อนั้น
IMSoP

14
แม้ว่าคำถามจะไม่ตรงประเด็นในทางเทคนิค แต่นี่เป็นคำถามและคำตอบที่ยอมรับได้ในหัวข้อนี้และให้คุณค่าที่สำคัญ กรุณาอย่าปิด
Gordon

คำตอบ:


39

ฉันเขียนคลาสที่ง่ายมากสำหรับการส่งออกไปยัง "Excel XML" หรือที่เรียกว่า SpreadsheetML ผู้ใช้ปลายทางไม่ค่อยสะดวกเท่า XSLX (ขึ้นอยู่กับนามสกุลไฟล์และเวอร์ชันของ Excel พวกเขาอาจได้รับข้อความเตือน) แต่การทำงานกับ XLS หรือ XLSX นั้นง่ายกว่ามาก

http://github.com/elidickinson/php-export-data


1
ถ้าคุณเขียนมันคุณจะแบ่งปันภายใต้ใบอนุญาตที่คุณเสนอหรือไม่ ฉันมีปัญหาในการถอดรหัสจากคำตอบของคุณ จากแหล่งที่มาที่คุณเชื่อมโยง แต่สนใจที่จะเรียนรู้เพิ่มเติม
hakre

@ เอลี: เราจะรวมสองคอลัมน์ในแถวใดแถวหนึ่งได้อย่างไร?
joHN

1
@Eli ฉันจะสร้างแผ่นงานใหม่โดยใช้รหัสของคุณได้อย่างไร
ivanacorovic

วิธีสร้างและดาวน์โหลดไฟล์ xlsx โดยใช้ AJAX
คุรุ

289

สำหรับการเขียน Excel

  • PHP_Excel_Writerของ PEAR (xls เท่านั้น)
  • php_writeexcelจาก Bettina Attack (xls เท่านั้น)
  • XLS File Generatorเชิงพาณิชย์และ xls เท่านั้น
  • Excel Writer สำหรับ PHPจาก Sourceforge (spreadsheetML เท่านั้น)
  • ตอนนี้ส่วนขยาย Excelของ Ilia Alshanetsky อยู่ในgithub แล้ว (xls และ xlsx และต้องการส่วนประกอบlibXLเชิงพาณิชย์)
  • ส่วนขยาย COMของ PHP (ต้องใช้โปรแกรมสเปรดชีตที่เปิดใช้งาน COM เช่น MS Excel หรือ OpenOffice Calc ที่ทำงานบนเซิร์ฟเวอร์)
  • ทางเลือก Open Office สำหรับ COM ( PUNO ) (ต้องใช้ Open Office ติดตั้งบนเซิร์ฟเวอร์ที่เปิดใช้งานการสนับสนุน Java)
  • PHP-Export-Dataโดย Eli Dickinson (เขียน SpreadsheetML - รูปแบบ XML ของ Excel 2003 และ CSV)
  • php-excelของ Oliver Schwarz (SpreadsheetML)
  • php-excelเวอร์ชันดั้งเดิมของ Oliver Schwarz (SpreadsheetML)
  • excel_xml (SpreadsheetML แม้จะมีชื่อ) ... ลิงก์รายงานว่าเสีย
  • โครงการขนาดเล็ก แต่แข็งแกร่ง (tbs) มีเครื่องมือOpenTBSสำหรับสร้างเอกสาร OfficeOpenXML (รูปแบบ OpenDocument และ OfficeOpenXML)
  • SimpleExcelอ้างสิทธิ์เพื่ออ่านและเขียนรูปแบบ Microsoft Excel XML / CSV / TSV / HTML / JSON / etc
  • สเปรดชีตKoolGrid xls เท่านั้น แต่ยังรวมถึงเอกสารและ pdf
  • PHP_XLSXWriter OfficeOpenXML
  • PHP_XLSXWriter_plus OfficeOpenXML ส้อมของ PHP_XLSXWriter
  • php_writeexcel xls เท่านั้น (ดูเหมือนว่าจะขึ้นอยู่กับ PEAR SEW)
  • พวย OfficeOpenXML (xlsx) และ CSV
  • Slamdunk / php-excel (xls เท่านั้น) ดูเหมือนเวอร์ชันปรับปรุงของ PEAR Spreadsheet Writer รุ่นเก่า

สำหรับการอ่าน Excel

  • php-spreadsheetreaderอ่านรูปแบบต่างๆ (.xls, .ods และ. csv)
  • PHP-ExcelReader (xls เท่านั้น)
  • PHP_Excel_Reader (xls เท่านั้น)
  • PHP_Excel_Reader2 (xls เท่านั้น)
  • XLS File Reader Commercial และ xls เท่านั้น
  • SimpleXLSXจากคำอธิบายอ่านไฟล์ xlsx แม้ว่าผู้เขียนจะอ้างถึง xls ตลอดเวลา
  • PHP Excel Explorer Commercial และ xls เท่านั้น
  • ตอนนี้ส่วนขยาย Excelของ Ilia Alshanetsky อยู่ในgithub แล้ว (xls และ xlsx และต้องการส่วนประกอบlibXLเชิงพาณิชย์)
  • ส่วนขยาย COMของ PHP (ต้องใช้โปรแกรมสเปรดชีตที่เปิดใช้งาน COM เช่น MS Excel หรือ OpenOffice Calc ที่ทำงานบนเซิร์ฟเวอร์)
  • ทางเลือก Open Office สำหรับ COM ( PUNO ) (ต้องใช้ Open Office ติดตั้งบนเซิร์ฟเวอร์ที่เปิดใช้งานการสนับสนุน Java)
  • โปรแกรมอ่านสเปรดชีตของ Nuovo (csv, xls, xlsx และ ods)
  • SimpleExcelอ้างสิทธิ์เพื่ออ่านและเขียนรูปแบบ Microsoft Excel XML / CSV / TSV / HTML / JSON / etc
  • PHPExcleReaderเป็นเพียง ZIP ที่มี PHPExcel เวอร์ชันเก่า
  • Akeneo Labs Spreadsheet Parser ไฟล์ OfficeOpenXML (.xlsx) และ CSV
  • พวย OfficeOpenXML (xlsx) และ CSV
  • php-spreadsheetreader ของ xhookอ้างว่าทำรูปแบบส่วนใหญ่

ส่วนขยาย C ++ Excel ใหม่สำหรับ PHP แม้ว่าคุณจะต้องสร้างด้วยตัวเองและเอกสารนั้นค่อนข้างเบาบางเมื่อต้องพยายามค้นหาว่ามีฟังก์ชันอะไรบ้าง (ฉันไม่สามารถหาได้จากไซต์ว่ารองรับรูปแบบใดบ้าง หรือว่าอ่านหรือเขียนหรือทั้งสองอย่าง .... ฉันเดาทั้งสองอย่าง) มันเป็นphpexcellibจาก SIMITGROUP

ทั้งหมดอ้างว่าเร็วกว่า PHPExcelจากcodeplexหรือจากgithubแต่ (ยกเว้น COM, PUNO Ilia's wrapper รอบ libXl และ spout) พวกเขาไม่ได้เสนอทั้งการอ่านและการเขียนหรือทั้ง xls และ xlsx อาจไม่ได้รับการสนับสนุนอีกต่อไป และ (ในขณะที่ฉันยังไม่ได้ทดสอบส่วนขยายของ Ilia) มีเพียง COM และ PUNO เท่านั้นที่สามารถควบคุมเวิร์กบุ๊กที่สร้างขึ้นได้ในระดับเดียวกัน


ตอนนี้ส่วนขยายของ Iliaรองรับ XLS และ XLSX แล้ว
Sara

6
@RZB - คุณใช้ไลบรารีใดก็ได้ที่เหมาะกับคุณแม้ว่า MySQL จะไม่มี (เท่าที่ฉันทราบ) มีฟังก์ชันการนำเข้าแบบเนทีฟสำหรับไฟล์. xls สำหรับ. csv ที่ใช้ LOAD DATA INFILE เท่านั้น ในฐานะผู้พัฒนา PHPExcel ฉันจะส่งเสริมและแนะนำตามความเหมาะสมอย่างแน่นอน แต่ฉันไม่บังคับใช้เมื่อมันไม่ใช่ตัวเลือกที่เหมาะสมที่สุด
Mark Baker

1
@velcrow เครื่องยนต์น้ำหนักเบาที่ดี คำแนะนำที่ดีต้องการการทำงาน แต่ให้ไฟล์ XSLX ที่มีคุณภาพ
foochow

2
ขอบคุณสำหรับเวลาอันมีค่าของคุณ
Zain

1
@ มาร์คมันจะดีมากถ้าคุณสามารถทำสิ่งที่ชอบ$manyAnswers = split($libSeparator, $thisAnswer); // So we could vote and comment by lib
dap.tci
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.