2010-01-14 17 views

उत्तर

18

एक्सेल फ़ाइलों (एक्सएलएस) से आयात करना CSV फ़ाइलों से इंप्रेशन करने से कठिन है। आम तौर पर मैं Excel के साथ सीएसवी करने के लिए मेरे XLS बचाने तो पीएचपी के साथ इस सीएसवी पर काम ... पर पीएचपी समारोह fgetcsv पर

देखो: http://ca.php.net/manual/en/function.fgetcsv.php

<?php 
$row = 1; 
if (($handle = fopen("test.csv", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     echo "<p> $num fields in line $row: <br /></p>\n"; 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      echo $data[$c] . "<br />\n"; 
     } 
    } 
    fclose($handle); 
} 
?> 

आप अभी भी XLS लोड करने के लिए सीधे PHP से यह चाहते हैं संभव (लेकिन कितना भरोसेमंद) ... एक त्वरित सीच http://sourceforge.net/projects/phpexcelreader/ में परिणामस्वरूप उपयोगी हो सकता है।

+0

दूसरी ओर, Excel 2007 के लिए, http://phpexcel.codeplex.com/ वास्तव में अच्छा है। – AlexV

0

सर्वश्रेष्ठ शर्त Excel से CSV (अल्पविराम से अलग मूल्य) फ़ाइल में निर्यात करना है। इन फ़ाइलों को पार्स और लोड करना आसान है। यदि आप सीधे एक एक्सएलएस फ़ाइल से पढ़ रहे हैं, तो मुझे यकीन नहीं है कि यह कैसे करें। आप देखना चाहते हैं कि PHP के लिए एक लिबररी है या नहीं, जो Excel डेटा फ़ाइलों को पढ़ सकता है।

8

काफी संभव है। आप अपनी एक्सेल फ़ाइल को CSV फ़ाइल के रूप में सहेज सकते हैं, और उस फ़ाइल को PHP में पढ़ने के लिए fgetcsv() का उपयोग कर सकते हैं। fgetcsv() आपके डेटा को एक सरणी में पार्स करेगा, जिसे आप अपने डेटाबेस में डालने के लिए SQL क्वेरी बना सकते हैं।

यदि सब आप कर रहे हैं यह एक डेटाबेस में डाल रहा है, आप और पूरी तरह से एक PHP स्क्रिप्ट के लिए की जरूरत बायपास करने के लिए सक्षम हो सकता है सिर्फ अपनी CSV पर MySQL के LOAD DATA INFILE सिंटैक्स का उपयोग करने के बजाय फाइल:

LOAD DATA LOCAL INFILE '/importfile.csv' 
INTO TABLE test_table 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
(field1, filed2, field3); 
0

Here एक्सेल स्प्रेडशीट को सीधे पढ़ने/लिखने पर एक ट्यूटोरियल (सीएसवी को निर्यात किए बिना)। आवश्यक पैकेज SourceForge और PEAR (सीएफ लेख) से उपलब्ध हैं।

-1
<? 
i$db = mysql_connect(“localhost”, “root”, “”) or die(“Could not connect.”); 

if(!$db) 

die(“no db”); 

if(!mysql_select_db(“test”,$db)) 

die(“No database selected.”); 

if(isset($_POST['submit'])) 

{ 

$filename=$_POST['filename']; 

$handle = fopen(“$filename”, “r”); 

while (($data = fgetcsv($handle, 1000, “,”)) !== FALSE) 

{ 

$import=”INSERT into sample(name,email) values(‘$data[0]‘,’$data[1]‘)”; 

mysql_query($import) or die(mysql_error()); 

} 

fclose($handle); 

print “Import done”; 

} 

else 

{ 

print “<form action=’import.php’ method=’post’>”; 

print “Type file name to import:<br>”; 

print “<input type=’text’ name=’filename’ size=’20′><br>”; 

print “<input type=’submit’ name=’submit’ value=’submit’></form>”; 

} 
?> 

Source

संबंधित मुद्दे