2014-10-12 7 views
5

के साथ एक्सेल से डेटा को कैसे पढ़ा जाए, मैं एक्सेल शीट (.xlsx) से डेटा आयात करने का प्रयास कर रहा हूं। मुझे आयात डेटा के लिए PHPExcel मिला है लेकिन दस्तावेज़ और स्रोत कोड डाउनलोड करने के बाद मैं उलझन में हूं कि कौन सी फाइल मेरे लिए महत्वपूर्ण है। मैंने उस साइट पर दस्तावेज़ खोजने का भी प्रयास किया लेकिन रास्ता नहीं मिला।PHPExcel

मेरे कार्य के बारे में: चयनित शीट से एक्सेल शीट डेटा पढ़ें और डेटा को मेरी डेटाबेस तालिका में डालें।

तो मैं वास्तव में आभारी हूं यदि आप मुझे इसका उपयोग कैसे करेंगे मार्गदर्शन करेंगे।

धन्यवाद।

उत्तर

12

आप एक्सेल फ़ाइल पढ़ने और डेटाबेस में डेटा डालने के लिए PHPExcel लाइब्रेरी का उपयोग कर सकते हैं।

नमूना कोड नीचे है।

// Include PHPExcel_IOFactory 
include 'PHPExcel/IOFactory.php'; 

$inputFileName = 'sample.xls'; 

// Read your Excel workbook 
try { 
    $inputFileType = PHPExcel_IOFactory::identify($inputFileName); 
    $objReader = PHPExcel_IOFactory::createReader($inputFileType); 
    $objPHPExcel = $objReader->load($inputFileName); 
} catch(Exception $e) { 
    die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); 
} 

// Get worksheet dimensions 
$sheet = $objPHPExcel->getSheet(0); 
$highestRow = $sheet->getHighestRow(); 
$highestColumn = $sheet->getHighestColumn(); 

// Loop through each row of the worksheet in turn 
for ($row = 1; $row <= $highestRow; $row++){ 
    // Read a row of data into an array 
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, 
            NULL, 
            TRUE, 
            FALSE); 
    // Insert row data array into database here using your own structure 
+0

संपूर्ण वर्कशीट को PHP सरणी में स्थानांतरित करने से बेहतर उत्तर; बदले में प्रत्येक पंक्ति पर फिर से सक्रिय करें ताकि आप केवल डेटा की एक छोटी सी सरणी के साथ काम कर रहे हों और आप PHP की मेमोरी सीमा –

+0

को उड़ाने वाले नहीं हैं यदि आप हाथ से पहले डेटा के प्रारूप को जानते हैं, उदा। उपयोगकर्ता अपलोड करते हैं, आप अपने स्वयं के मामले में '$ highColumn = 'E'' जैसे डेटा के अंतिम कॉलम पर' $ उच्चतम कॉलम' सेट कर सकते हैं। यह उपयोगी है क्योंकि आपके डेटाबेस में आमतौर पर निश्चित कॉलम होंगे। – seyisulu

0

इस प्रयास करें ताकि आप जा सकते हैं शुरू के विकास की प्रक्रिया:

include '.... /PHPexcel/Classes/PHPExcel.php'; 
    $dataFfile = "C:/tmp/test_data.xls"; 
    $objPHPExcel = PHPExcel_IOFactory::load($dataFfile); 
    $sheet = $objPHPExcel->getActiveSheet(); 
    $data = $sheet->rangeToArray('A2:AB5523'); 
    echo "Rows available: " . count($data) . "\n"; 
    foreach ($data as $row) { 
     print_r($row); 
    } 

PHPExcel.php
करने के लिए अपने पथ के साथ शामिल पथ बदलें अपने एक्सेल के साथ $dataFile बदलें फ़ाइल
भी समायोजित उन कक्षों की श्रृंखला जिन्हें आप आयात करना चाहते हैं

8

दस्तावेज़ीकरण पर त्वरित रूप से, IOFactory का स्वचालित रूप से टी निर्धारित करने के लिए उपयोग करें वह फ़ाइल प्रारूप।

include 'path/to/PHPExcel/IOFactory.php'; 

// Let IOFactory determine the spreadsheet format 
$document = PHPExcel_IOFactory::load('path/to/spreadsheet.xls'); 

// Get the active sheet as an array 
$activeSheetData = $document->getActiveSheet()->toArray(null, true, true, true); 

var_dump($activeSheetData);