(ទិន្នន័យដែលទទួលបានពីមូលដ្ឋានទិន្នន័យ mysql) ដើម្បីជោគជ័យ។ ខ្ញុំកំពុងប្រើ Zend Framework។ ខ្ញុំត្រូវធ្វើការផ្លាស់ប្តូរមួយចំនួនចំពោះទិន្នន័យរបស់ខ្ញុំមុនពេលនាំចេញទៅ excel ។ តាមពិតទៅ ខ្ញុំពិតជាត្រូវបង្កើតសៀវភៅសាច់ប្រាក់ប្រចាំខែ។
ខ្ញុំបានអានឯកសារជាច្រើន ប៉ុន្តែឃើញថាខ្លួនឯងមានភាពរញ៉េរញ៉ៃ។ ខ្ញុំពិតជាមិនដឹងពីរបៀបចាប់ផ្តើម។ តើខ្ញុំពិតជាត្រូវការ PEAR មែនទេ? តើខ្ញុំត្រូវការផ្ទុកបណ្ណាល័យថ្នាក់ណាមួយទេ? តើមិនមានវិធីងាយស្រួលក្នុងការធ្វើដូច្នេះទេ?
សូមអរគុណជាមុន
ខ្ញុំស្នើឱ្យអ្នកប្រើបណ្ណាល័យ PHPExcel ។ វាពិតជាមានថាមពលខ្លាំង គាំទ្រទម្រង់ច្រើន អាចធ្វើទ្រង់ទ្រាយដែលមើលឃើញ និងងាយស្រួលប្រើ។
អ្នកអាចស្វែងយល់បន្ថែមអំពីវានៅលើគេហទំព័ររបស់ពួកគេ៖ http://phpexcel.codeplex.com/ (PHPExcel បានផ្លាស់ប្តូរទៅ https://github.com/PHPOffice/PHPExcel រួចហើយ)
ឧទាហរណ៍នៃការប្រើប្រាស់៖
$objPHPExcel = ថ្មី PHPExcel(); /** អ្នកអាចកំណត់លក្ខណៈសម្បត្តិជាច្រើន */ $objPHPExcel->getProperties()->setCreator("ក្រុមហ៊ុនរបស់ខ្ញុំ") ->setLastModifiedBy("John Doe") ->setTitle("របាយការណ៍ប្រចាំឆ្នាំ") ->setSubject("ការលក់ ") -> setDescription("របាយការណ៍លក់ប្រចាំឆ្នាំដោយ John Doe") -> setCategory("ហិរញ្ញវត្ថុ"); /** ជ្រើសរើសសន្លឹកមួយ */ $activeSheet = $objPHPExcel->setActiveSheetIndex(0); /** គ្រាន់តែកំណត់តម្លៃក្រឡា */ $activeSheet->setCellValue("A1", "ពហុវចនៈ");
អ្នកអាចធ្វើបានច្រើនទៀត ជាការអានឯកសារ Excel កំណត់រចនាប័ទ្មដែលមើលឃើញ បង្កើតក្រាហ្វ កន្សោម និងច្រើនទៀត។
ខ្ញុំបានសរសេររបាយការណ៍បំរែបំរួលសារពើភ័ណ្ឌចំនួន 94 ជួរ ដែលខ្ញុំយកទិន្នន័យពី MySQL (6kb + records ក្នុងមួយតារាង) បង្កើតអារេពហុវិមាត្រពីទិន្នន័យ MySQL ទាញពីតារាងច្រើន ហើយបន្ទាប់មកបោះចោលអ្វីៗទាំងអស់ទៅក្នុងជួរដេកមួយ ហើយបង្កើត .xls ដូច្នេះ៖
មិនត្រូវការផ្នែកបន្ថែមទេ។
ការព្រមានតែមួយគត់គឺថាខ្ញុំមិនទាន់បានគិតពីរបៀបបញ្ចេញ .xls ដោយគ្មាន Excel ដោយរាយការណ៍ថាទិន្នន័យអាចខូច ហើយខ្ញុំមិនបានព្យាយាមធ្វើទ្រង់ទ្រាយ ឬអ្វីស្មុគស្មាញជាងគ្រាន់តែ "នាំចេញ" ទិន្នន័យនោះទេ។ ជាការពិតណាស់ ឯកសារ/ទិន្នន័យត្រូវយល់ព្រម ប៉ុន្តែវាបង្កើតការព្រមានពី Excel ។
កែសម្រួល៖ ខ្ញុំគួរកត់សម្គាល់ថា "ការដំឡើង" និង "បោះចោល" សំដៅទៅលើចំណុចខាងក្រោម៖ daniweb.com
អ្នកអាចប្រើបណ្ណាល័យ phpexcel ។ វាអនុញ្ញាតឱ្យអ្នកសរសេរ និងអានពីទម្រង់ឯកសារសៀវភៅបញ្ជីផ្សេងៗគ្នា
សម្រាប់ការរួមបញ្ចូល zend អ្នកអាចយកជំនួយពីតំណខាងក្រោម។
អ្នកអាចប្រើ CSV ដើម្បីធ្វើទ្រង់ទ្រាយដែលអាចនាំចូលបានសម្រាប់ Excel ។ នេះជាវិធីងាយស្រួលបំផុតដើម្បីធ្វើវា។
CSV មើលទៅដូចនេះ៖
"មាតិកាក្រឡាទីមួយរបស់ខ្ញុំ", "មាតិកាក្រឡាទីពីររបស់ខ្ញុំ", "មាតិកាក្រឡាទីបីរបស់ខ្ញុំ" "ជួរទីពីរ មាតិកាក្រឡាទីមួយ", "ល", "ល។
ជួរនីមួយៗតំណាងឱ្យខ្សែអក្សរ Excel អ្នកដាក់មាតិកាក្រឡារវាងសញ្ញាសម្រង់ពីរហើយបំបែកពួកវាដោយសញ្ញាក្បៀស។ សូមប្រយ័ត្ន ប្រសិនបើអ្នកមានទិន្នន័យមួយចំនួនរបស់អ្នក វាអាចបំបែក CSV របស់អ្នក និងបង្កើតជួរថ្មីដែលមិនចង់បាន។
ជាមួយនឹង Google បន្តិច អ្នកនឹងរកឃើញវា៖ http://www.the-art-of-web.com/php/dataexport/
ការរៀបចំទិន្នន័យ
$data = array(array("firstname" => "Mary", "lastname" => "Johnson", "age" => 25), array("firstname" => "Amanda", "lastname" => " Miller", "អាយុ" => 18), array("firstname" => "James", "lastname" => "Brown", "age" => 31), array("firstname" => "Patricia", "lastname" => "Williams", "age" => 7), array("firstname" => "Michael", "lastname" => "Davis", "age" => 43), array("ឈ្មោះដំបូង" => "Sarah", "នាមត្រកូល" => "Miller", "អាយុ" => 24), array("firstname" => "Patrick", "lastname" => "Miller", "age" => 27) );
ជំហានដំបូងគឺត្រូវបញ្ចេញទិន្នន័យក្នុងទម្រង់ដែលកំណត់ដោយផ្ទាំង (CSV ក៏អាចត្រូវបានប្រើដែរ ប៉ុន្តែមានភាពស្មុគស្មាញបន្តិច)។ ដើម្បីធ្វើដូចនេះយើងប្រើកូដខាងក្រោម:
យើងកំណត់ប្រភេទមាតិកាទៅជាអត្ថបទ/ធម្មតា ដើម្បីឱ្យលទ្ធផលអាចមើលបានកាន់តែងាយស្រួលនៅក្នុងកម្មវិធីរុករក។ បើមិនដូច្នេះទេ ដោយសារមិនមានការធ្វើទ្រង់ទ្រាយ HTML លទ្ធផលនឹងបង្ហាញជាបន្ទាត់តែមួយនៃអត្ថបទ។
ជួរទីមួយនៃលទ្ធផលនឹងជាចំណងជើងជួរឈរ (ក្នុងករណីនេះឈ្មោះវាលត្រូវបានប្រើ) ។ តម្លៃត្រូវបានបំបែកដោយផ្ទាំង \t និងបន្ទាត់ដែលមានការបំបែកបន្ទាត់ \n ។ លទ្ធផលគួរតែមើលទៅដូចនេះ៖
នាមត្រកូល អាយុ Mary Johnson 25 Amanda Miller 18 James Brown 31 Patricia Williams 7 Michael Davis 43 Sarah Miller 24 Patrick Miller 27
មានចំណុចខ្សោយនៅក្នុងកូដនេះ ដែលប្រហែលជាមិនច្បាស់ភ្លាមៗទេ។ ចុះយ៉ាងណាវិញ ប្រសិនបើវាលមួយដែលត្រូវការលទ្ធផលមានតួអក្សរផ្ទាំងមួយ ឬច្រើនរួចហើយ ឬកាន់តែអាក្រក់ជាងនេះទៅទៀត បន្ទាត់ថ្មី? វានឹងធ្វើឱ្យដំណើរការទាំងមូលចាប់តាំងពីយើងពឹងផ្អែកលើនិមិត្តសញ្ញាទាំងនេះដើម្បីចង្អុលបង្ហាញជួរឈរ និងការបំបែកបន្ទាត់។
ដំណោះស្រាយគឺ "គេច" តួអក្សរផ្ទាំង។ ក្នុងករណីនេះ យើងនឹងជំនួសផ្ទាំងដោយព្យញ្ជនៈ \t និងការបំបែកបន្ទាត់ដោយព្យញ្ជនៈ \n ដូច្នេះពួកវាមិនប៉ះពាល់ដល់ការធ្វើទ្រង់ទ្រាយទេ៖
ឥឡូវនេះ មុនពេលបន្ទាត់នីមួយៗត្រូវបានបន្ទរ តួអក្សរផ្ទាំងណាមួយត្រូវបានជំនួសដោយ "\ t" ដើម្បីកុំឱ្យជួរឈររបស់យើងខូច។ ដូចគ្នានេះផងដែរ ការបំបែកបន្ទាត់ណាមួយនៅក្នុងទិន្នន័យត្រូវបានជំនួសដោយ "\n" ។
.
វិធីសាស្រ្តដែលបានបង្ហាញនៅក្នុងកំណត់ចំណាំនោះពិតជាសាមញ្ញណាស់ ប៉ុន្តែប្រហែលជាមិនតែងតែងាយស្រួលនោះទេ។
មានវិធីជាច្រើនទៀតដើម្បីផ្ទេរទិន្នន័យតារាងពី PHP ទៅ Excel ខ្ញុំនឹងរៀបរាប់អំពីវិធីមួយដែលហាក់ដូចជាខ្ញុំសាមញ្ញបំផុត និងមានមុខងារ។ វាគួរតែត្រូវបានកត់សម្គាល់ជាពិសេសថាខ្ញុំមិននិយាយអំពីការបង្កើតឯកសារ xls ទេ ប៉ុន្តែគ្រាន់តែស្នើឱ្យអ្នកប្រើប្រាស់បើកទិន្នន័យដែលទទួលបានដោយប្រើ Excel ដូច្នេះអ្នកប្រើប្រាស់ដែលមិនមានបទពិសោធន៍ក្នុងការសរសេរកម្មវិធីនឹងមិនកត់សម្គាល់ការក្លែងបន្លំនោះទេ។
ដូច្នេះ រឿងដំបូងដែលអ្នកត្រូវធ្វើគឺដាក់នៅលើទំព័ររបស់យើងនូវតំណភ្ជាប់ទៅកាន់ស្គ្រីបដែលបង្កើតបឋមកថាខាងក្រោម៖
បឋមកថា ("Pragma: សាធារណៈ");
បឋមកថា ("ផុតកំណត់៖ ០");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
បឋមកថា ("ការគ្រប់គ្រងឃ្លាំងសម្ងាត់៖ ឯកជន", មិនពិត);
បឋមកថា ("ប្រភេទមាតិកា៖ កម្មវិធី/x-msexcel");
header("Content-Disposition: attachment; filename=\"" . iconv("UTF-8", "CP1251", $object->getFileName()). "\";");
បឋមកថា ("មាតិកា-ផ្ទេរ-អ៊ិនកូដ៖ គោលពីរ");
header("Content-Length:" . $object->getFileSize());
$object គឺជាវត្ថុរាងស្វ៊ែរនៅក្នុងកន្លែងទំនេរ ដែលអ្នកអានម្នាក់ៗអាចអនុវត្តតាមដែលគាត់ចូលចិត្ត។ គោលបំណងនៃ getFileName() និង getFileSize() getters គឺច្បាស់លាស់ពីឈ្មោះរបស់ពួកគេ។ វាមានតម្លៃក្នុងការរំលេចនូវភាពមិនច្បាស់លាស់មួយនៅទីនេះ (អរគុណសម្រាប់ការរំលឹកខ្ញុំអំពីរឿងនេះ) - getFileName() ពិតណាស់អាចត្រឡប់ឈ្មោះឯកសារណាមួយ ប៉ុន្តែប្រសិនបើអ្នកចង់ឱ្យកម្មវិធីរុករកផ្តល់ការបើកមាតិកាដែលបានទទួលនៅក្នុង Excel នោះផ្នែកបន្ថែមឯកសារគួរតែ ក្លាយជា xls ។
ខ្ញុំមិនទាន់បាននិយាយអ្វីថ្មីនៅឡើយទេ អ្វីៗទាំងអស់នេះត្រូវបានបង្កើតនៅចំពោះមុខខ្ញុំ ទោះបីជាយ៉ាងណាក៏ដោយ ដូចអ្វីដែលនឹងត្រូវបានពិពណ៌នាខាងក្រោម។
ដូចដែលត្រូវបានកត់សម្គាល់ត្រឹមត្រូវនៅក្នុងមតិយោបល់ទៅអត្ថបទ Excel ដំណើរការលឿនជាងមុនជាមួយ XML ។ ប៉ុន្តែអត្ថប្រយោជន៍ដ៏សំខាន់បំផុត ប្រហែលជាមិនមែនជាល្បឿនទេ ប៉ុន្តែសមត្ថភាពកាន់តែទូលំទូលាយ។ ខ្ញុំនឹងមិនចូលជ្រៅទៅក្នុងស្មៅទេ ប៉ុន្តែគ្រាន់តែនឹងផ្តល់ឧទាហរណ៍សាមញ្ញមួយ និងតំណភ្ជាប់ទៅកាន់ការពិពណ៌នាលម្អិតនៃស្លាកទាំងអស់។
ដូច្នេះបន្ទាប់ពីបឋមកថាត្រូវបានបង្កើតយើងត្រូវផ្តល់ទិន្នន័យពិតប្រាកដដល់អ្នកប្រើប្រាស់។ ជាធម្មតាខ្ញុំរុំការបង្កើតតារាងតាមវិធីដាច់ដោយឡែកមួយ៖
បន្ទរ $object->getContent();
ហើយខ្ញុំបង្កើតតារាងដោយប្រើ Smarty៖
ដូចដែលអ្នកអាចមើលឃើញពីកូដ អារេ $data ត្រូវបានបញ្ជូនទៅពុម្ពដែលមានអារេពីរ - បន្ទាត់ចំណងជើងតារាង និងទិន្នន័យខ្លួនឯង។
គួរកត់សម្គាល់ថាការប្រើម៉ាស៊ីនគំរូដើម្បីបង្កើត XML គឺមានតម្លៃថ្លៃខ្លះហើយ XML អាចទទួលបានតាមវិធីជាច្រើនទៀត។ ក្នុងករណីពិសេសរបស់ខ្ញុំ ជំនាន់ XML គឺគ្រាន់តែជាប្រាក់រង្វាន់តូចមួយនៅក្នុងគម្រោងធំ ដែលម៉ាស៊ីនគំរូមិនអាចខ្វះបាន។
ជាឧទាហរណ៍ ខ្ញុំបានផ្ដល់តារាងសាមញ្ញមួយ ប្រសិនបើចង់បាន អ្នកអាចរៀបចំគុណលក្ខណៈមួយចំនួនធំជាងនេះ។ នេះពិតជាល្អណាស់ដែលពិចារណាថាគ្មានបណ្ណាល័យភាគីទីបីត្រូវបានទាមទារសម្រាប់ការអនុវត្តនោះទេ។
វិធីសាស្ត្រដែលបានពិពណ៌នាបានដំណើរការលើគម្រោងមួយអស់រយៈពេលជាច្រើនឆ្នាំ ហើយមិនមានអ្នកប្រើប្រាស់ម្នាក់បានសង្ស័យថាទិន្នន័យដែលគាត់បានបើកមិនមែនជាឯកសារ MS Office ទេ។
អ្នកអាចអានបន្ថែមអំពីរចនាសម្ព័ន្ធ XML ដែលប្រើក្នុង MS Excel ក្នុង
សម្រាប់មនុស្សជាច្រើននៅពេលធ្វើការជាមួយ PHP ភ្ជាប់ជាមួយ MySQLមានតម្រូវការដូចជាការនាំចេញទិន្នន័យពីមូលដ្ឋានទិន្នន័យទៅជាទ្រង់ទ្រាយ xls ដូច្នេះអ្នកដែលត្រូវការទិន្នន័យនេះដំណើរការវានៅក្នុង Excel ឬវាងាយស្រួលសម្រាប់អ្នកប្រើប្រាស់ក្នុងការមើលទិន្នន័យនេះ។ ថ្មីៗនេះខ្ញុំមានតម្រូវការបែបនេះ ហើយថ្ងៃនេះខ្ញុំនឹងប្រាប់អ្នកពីរបៀបដែលបញ្ហានេះអាចត្រូវបានអនុវត្ត។
ខ្ញុំនឹងនិយាយភ្លាមៗថាវិធីសាស្ត្រនេះគឺសាមញ្ញណាស់ ប៉ុន្តែទិន្នន័យត្រូវបានផ្ទុកឡើងជាធម្មតា។
ដើម្បីចាប់ផ្តើមខ្ញុំនឹងផ្តល់ឧទាហរណ៍នៃឯកសារ xls ចុងក្រោយនៅក្នុង Excel ការបង្ហោះនឹងមើលទៅដូចនេះ៖
ម្យ៉ាងវិញទៀត គ្មានរូបភាព ឬរចនាប័ទ្មណាមួយនឹងត្រូវបានបង្ហោះទេ មានតែចំណងជើងជួរឈរ និងទិន្នន័យខ្លួនឯងប៉ុណ្ណោះ។
មុនពេលដែលខ្ញុំមករកជម្រើសសម្រាប់ការបង្ហោះនេះ ខ្ញុំបានព្យាយាមបង្ហោះជាទម្រង់ csv ប៉ុន្តែវាប្រែជាច្របូកច្របល់បន្តិច បន្ទាប់មកខ្ញុំបានព្យាយាមគូរតារាង ហើយរក្សាទុកវាជាមួយផ្នែកបន្ថែម xls វាក៏ប្រែទៅជាមិនសមហេតុសមផលមួយចំនួនផងដែរ។ វិធីសាស្រ្តដែលខ្ញុំនឹងពណ៌នាឥឡូវនេះសមនឹងខ្ញុំទាំងស្រុង ហើយឥឡូវនេះខ្ញុំនឹងចែករំលែកវាជាមួយអ្នក។
ដើម្បីចាប់ផ្តើមខ្ញុំនឹងផ្តល់កូដទាំងអស់ដែលខ្ញុំបានបញ្ចេញមតិតាមដែលអាចធ្វើបានអ្នកអាចជ្រើសរើសវាហើយរក្សាទុកវាជាមួយផ្នែកបន្ថែម php ហើយសាកល្បងវាគ្រាន់តែកុំភ្លេចបញ្ជាក់ការកំណត់សម្រាប់ភ្ជាប់ទៅមូលដ្ឋានទិន្នន័យ។
នាំចេញទិន្នន័យពី MySQL ទៅ Excel ក្នុង PHP
ហើយដើម្បីឱ្យអ្នកយល់ពីទិន្នន័យដែលខ្ញុំកំពុងផ្ទុកឡើង ខ្ញុំនឹងផ្តល់ឧទាហរណ៍នៃតារាងសាមញ្ញមួយនៅក្នុងមូលដ្ឋានទិន្នន័យ ( ខ្ញុំមានការធ្វើតេស្តឈ្មោះរបស់វា។):
តារាងសាកល្បង៖
លេខសម្គាល់ | ឈ្មោះដើម | ឈ្មោះ |
1 | អ៊ីវ៉ាណូវ | អ៊ីវ៉ាន |
2 | Petrov | ពេត្រុស |
2 | Petrov ២ | ពេត្រុស ២ |
គំនិតទាំងមូលនៅទីនេះគឺមុខងារ កញ្ចប់()ដែលខ្ចប់ទិន្នន័យទៅក្នុងខ្សែអក្សរគោលពីរ ហើយយើងបំពេញខ្សែអក្សរនេះជាបន្តបន្ទាប់ជាមួយនឹងទិន្នន័យដែលយើងទាញយកពីមូលដ្ឋានទិន្នន័យ MySql ដោយប្រើមុខងារធម្មតា។ mysql_query().
ដើម្បីពិនិត្យមើលមុខងារនៃកូដនេះ ដោយគិតគូរពីការពិតដែលថាអ្នកបានកំណត់រចនាសម្ព័ន្ធការតភ្ជាប់ទៅមូលដ្ឋានទិន្នន័យ និងបង្កើតតារាងស្រដៀងគ្នា អ្នកអាចផ្ញើសំណើដូចខាងក្រោមៈ
http://your_site/file_name. php?id=2
ហើយអ្នកគួរដកពីរបន្ទាត់ដែលមានលេខសម្គាល់ស្មើនឹង 2។
ហើយឥឡូវនេះនរណាម្នាក់ដែលអ្នកអនុញ្ញាតឱ្យផ្ទុកឡើងទិន្នន័យអាចនាំចេញវាបានយ៉ាងងាយស្រួលទៅកាន់កុំព្យូទ័រមូលដ្ឋានរបស់ពួកគេតាមរយៈចំណុចប្រទាក់បណ្ដាញ។ វិធីសាស្រ្តនេះគឺមានភាពងាយស្រួលសម្រាប់អ្នកប្រើប្រាស់សាជីវកម្ម ប្រសិនបើអ្នកកំពុងបង្កើតកម្មវិធីសម្រាប់ស្ថាប័នរបស់អ្នក និងសម្រាប់អ្នកប្រើប្រាស់គេហទំព័ររបស់អ្នកនៅលើអ៊ីនធឺណិត។ ខ្ញុំសង្ឃឹមថាវិធីសាស្ត្រនេះបានជួយអ្នក។ សំណាងល្អ!
.
វិធីសាស្រ្តដែលបានបង្ហាញនៅក្នុងកំណត់ចំណាំនោះពិតជាសាមញ្ញណាស់ ប៉ុន្តែប្រហែលជាមិនតែងតែងាយស្រួលនោះទេ។
មានវិធីជាច្រើនទៀតដើម្បីផ្ទេរទិន្នន័យតារាងពី PHP ទៅ Excel ខ្ញុំនឹងរៀបរាប់អំពីវិធីមួយដែលហាក់ដូចជាខ្ញុំសាមញ្ញបំផុត និងមានមុខងារ។ វាគួរតែត្រូវបានកត់សម្គាល់ជាពិសេសថាខ្ញុំមិននិយាយអំពីការបង្កើតឯកសារ xls ទេ ប៉ុន្តែគ្រាន់តែស្នើឱ្យអ្នកប្រើប្រាស់បើកទិន្នន័យដែលទទួលបានដោយប្រើ Excel ដូច្នេះអ្នកប្រើប្រាស់ដែលមិនមានបទពិសោធន៍ក្នុងការសរសេរកម្មវិធីនឹងមិនកត់សម្គាល់ការក្លែងបន្លំនោះទេ។
ដូច្នេះ រឿងដំបូងដែលអ្នកត្រូវធ្វើគឺដាក់នៅលើទំព័ររបស់យើងនូវតំណភ្ជាប់ទៅកាន់ស្គ្រីបដែលបង្កើតបឋមកថាខាងក្រោម៖
បឋមកថា ("Pragma: សាធារណៈ");
បឋមកថា ("ផុតកំណត់៖ ០");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
បឋមកថា ("ការគ្រប់គ្រងឃ្លាំងសម្ងាត់៖ ឯកជន", មិនពិត);
បឋមកថា ("ប្រភេទមាតិកា៖ កម្មវិធី/x-msexcel");
header("Content-Disposition: attachment; filename=\"" . iconv("UTF-8", "CP1251", $object->getFileName()). "\";");
បឋមកថា ("មាតិកា-ផ្ទេរ-អ៊ិនកូដ៖ គោលពីរ");
header("Content-Length:" . $object->getFileSize());
$object គឺជាវត្ថុរាងស្វ៊ែរនៅក្នុងកន្លែងទំនេរ ដែលអ្នកអានម្នាក់ៗអាចអនុវត្តតាមដែលគាត់ចូលចិត្ត។ គោលបំណងនៃ getFileName() និង getFileSize() getters គឺច្បាស់លាស់ពីឈ្មោះរបស់ពួកគេ។ វាមានតម្លៃក្នុងការរំលេចនូវភាពមិនច្បាស់លាស់មួយនៅទីនេះ (សូមអរគុណដល់ savostin សម្រាប់ការរំលឹកខ្ញុំអំពីរឿងនេះ) - getFileName() ពិតណាស់អាចត្រឡប់ឈ្មោះឯកសារណាមួយ ប៉ុន្តែប្រសិនបើអ្នកចង់ឱ្យកម្មវិធីរុករកផ្តល់ការបើកមាតិកាដែលបានទទួលនៅក្នុង Excel បន្ទាប់មកឯកសារ ផ្នែកបន្ថែមគួរតែជា xls ។
ខ្ញុំមិនទាន់បាននិយាយអ្វីថ្មីនៅឡើយទេ អ្វីៗទាំងអស់នេះត្រូវបានបង្កើតនៅចំពោះមុខខ្ញុំ ទោះបីជាយ៉ាងណាក៏ដោយ ដូចអ្វីដែលនឹងត្រូវបានពិពណ៌នាខាងក្រោម។
ដូចដែលត្រូវបានកត់សម្គាល់ត្រឹមត្រូវនៅក្នុងមតិយោបល់ទៅប្រកាសអំពីជំនាន់ xls នៅក្នុង PHP Excel ដំណើរការលឿនជាងមុនជាមួយ XML ។ ប៉ុន្តែអត្ថប្រយោជន៍ដ៏សំខាន់បំផុត ប្រហែលជាមិនមែនល្បឿនទេ ប៉ុន្តែសមត្ថភាពកាន់តែទូលំទូលាយ។ ខ្ញុំនឹងមិនចូលជ្រៅទៅក្នុងស្មៅទេ ប៉ុន្តែគ្រាន់តែនឹងផ្តល់ឧទាហរណ៍សាមញ្ញមួយ និងតំណភ្ជាប់ទៅកាន់ការពិពណ៌នាលម្អិតនៃស្លាកទាំងអស់។
ដូច្នេះបន្ទាប់ពីបឋមកថាត្រូវបានបង្កើតយើងត្រូវផ្តល់ទិន្នន័យពិតប្រាកដដល់អ្នកប្រើប្រាស់។ ជាធម្មតាខ្ញុំរុំការបង្កើតតារាងតាមវិធីដាច់ដោយឡែកមួយ៖
បន្ទរ $object->getContent();
ហើយខ្ញុំបង្កើតតារាងដោយប្រើ Smarty៖
ដូចដែលអ្នកអាចមើលឃើញពីកូដ អារេ $data ត្រូវបានបញ្ជូនទៅពុម្ពដែលមានអារេពីរ - បន្ទាត់ចំណងជើងតារាង និងទិន្នន័យខ្លួនឯង។
គួរកត់សម្គាល់ថាការប្រើម៉ាស៊ីនគំរូដើម្បីបង្កើត XML គឺមានតម្លៃថ្លៃខ្លះហើយ XML អាចទទួលបានតាមវិធីជាច្រើនទៀត។ ក្នុងករណីពិសេសរបស់ខ្ញុំ ជំនាន់ XML គឺគ្រាន់តែជាប្រាក់រង្វាន់តូចមួយនៅក្នុងគម្រោងធំ ដែលម៉ាស៊ីនគំរូមិនអាចខ្វះបាន។
ជាឧទាហរណ៍ ខ្ញុំបានផ្ដល់តារាងសាមញ្ញមួយ ប្រសិនបើចង់បាន អ្នកអាចរៀបចំគុណលក្ខណៈមួយចំនួនធំជាងនេះ។ នេះពិតជាល្អណាស់ដែលពិចារណាថាគ្មានបណ្ណាល័យភាគីទីបីត្រូវបានទាមទារសម្រាប់ការអនុវត្តនោះទេ។
វិធីសាស្ត្រដែលបានពិពណ៌នាបានដំណើរការលើគម្រោងមួយអស់រយៈពេលជាច្រើនឆ្នាំ ហើយមិនមានអ្នកប្រើប្រាស់ម្នាក់បានសង្ស័យថាទិន្នន័យដែលគាត់បានបើកមិនមែនជាឯកសារ MS Office ទេ។
អ្នកអាចអានបន្ថែមអំពីរចនាសម្ព័ន្ធ XML ដែលប្រើក្នុង MS Excel ក្នុង