男人摸女人的胸视频,91精品国产91久久久久久最新,黄色视频性爱免费看,黄瓜视频在线观看,国产小视频国产精品,成人福利国产一区二区,国产高清精品自拍91亚洲,国产91一区二区

加急見刊

電子商務網站導入Excel數據的設計與實現

徐輝

[摘 要] 本文在分析Excel XML表格文件格式的基礎上,論述了利用XML、PHP技術將Excel工作表數據導入到網站數據庫的實現方法,并給出實例。

[關鍵詞] Excel 電子商務網站 PHP

一、引言

在互聯網絡高速發展的今天,眾多企業紛紛建立了各自的電子商務網站。本文論述了利用PHP、XML技術在網站中導入Excel數據的實現方法。

二、相關技術簡介

1.XML技術。XML是Web上的數據表示和交換的標準,允許Internet的應用程序之間交換數據,并將數據的格式和內容與處理方法分離開來。XML具有良好的數據存儲格式、開放性、可擴展性、自描述性、高度的結構化、便于網絡傳輸等特性。

2.Exce l2003的XML支持。微軟的Office 2003增加了XML的支持功能。在Excel 2003中通過添加XML架構定義(XSD文件)到工作簿,提高本機 XML 的支持。可以在 Excel 電子表格和 XML架構之間創建一個映像,輕松地導入從其他數據庫和應用程序中創建的XML數據,將XML元素從XML架構中映像到Excel工作表的單元格,也可將Excel工作表數據導出為XML數據,用于與其他數據庫和應用程序的交互。

3.PHP和MySQL數據庫。PHP是當前流行的開發網站應用程序的一種Web服務器腳本語言,PHP提供的DOM解析器可以處理XML文檔。DOM解析器一次性地將整個XML文檔讀到內存,并且DOM解析器為XML文檔的每個元素創建一個樹型結構,在內存中保存其樹型結構。MySQL是一個免費的SQL數據庫服務器軟件,廣泛應用于網站的后臺數據庫。PHP和MySQL的組合是構建商務網站的一種解決方案。

三、Excel數據導入到網站的數據庫的實現

下面以網上書店管理系統為例,介紹如何將Excel文件中的圖書信息導入到網站數據庫的實現過程。這里以MySQL作為網站的后臺數據庫。

1.將Excel工作表另存為Excel XML表格文檔。在Excel 2003中可以將工作表另存為XML表格文檔。Excel XML表格文檔實際上是文本文件,它直接根據Excel工作表的數據類型,將工作表保存為XML文檔,可以在Excel中打開XML表格文檔并且象標準Excel電子表格一樣進行編輯。上述圖書信息的Excel工作表另存為XML表格文檔后,其XML部分內容如下:

<Workbook>

<Worksheet ss:Name=“Sheet1”>

<Table ss:ExpandedColumnCount=”3”ss:ExpandedRowCount=”150”>

... <Row>

<Cell><Data ss:Type=“String”>電子商務概論</Data></Cell>

<Cell><Data ss:Type=“String”>北京大學出版社</Data></Cell>

<Cell><Data ss:Type=“Number”>23.6</Data></Cell>

</Row>... </Table> ... </Worksheet>

</Workbook>

分析上面的部分XML內容格式,得到XML表格文檔的根元素是<Workbook>,代表一個工作簿。在<Workbook>根元素下,<Worksheet>子元素定義當前工作簿里的工作表,其ss:Name屬性指定工作表名稱,在一個有效的XML表格文檔里,至少需要該元素的一個實例。每個<Worksheet>元素包含一個<Table>元素,定義一個工作表的屬性和內容,其中ss:ExpandedColumnCount屬性指定工作表的總列數,ss:ExpandedRowCount屬性指定工作表的總行數。<Table>元素的子元素是<Row>,每個<Row>元素包含一個或者多個<Cell>元素,而<Cell>元素又包含<Data>元素,指定單元格的值。因此工作表中每行數據由一個<Row>元素來定義,每個單元格由<Cell>元素定義。

2.設計Excel XML表格文檔導入到網站數據庫的程序。對于另存的Excel XML表格文檔,通過訪問網站提供的表單頁面和程序,利用HTTP協議,將它上傳到網站,由Web服務器端的PHP腳本程序對上傳的XML文檔進行解析,讀取其每個<Row>元素的數據,作為一個新記錄插入到MySQL數據庫。導入Excel XML表格文檔的程序設計如下:

(1)創建Excel XML表格的XML文檔對象。PHP的全局數組$_FILES存放了有關上傳文件的信息。假設上傳表單的文件域名為file,$_FILES['file']['tmp_name']數組元素就存放了上傳的臨時文件名。下面代碼根據上傳的XML文檔,創建一個文檔對象。$dom = DOMDocument::load($_FILES['file']['tmp_name']);

(2)讀取XML文檔的指定元素。利用文檔對象的getElementsByTagName方法獲取XML文檔中指定的所有子元素。下面代碼返回XML文檔中所有<Row>元素及其子孫元素組成的對象集合。$rows =$dom->getElementsByTagName('Row');根據上述設計思想,下面的PHP程序功能是讀取上傳的Excel XML表格文檔,外循環讀取每個<Row>元素對應的對象,內循環讀取一個<Row>元素對象中的每個<Cell>子元素對象,由$cell->nodeValue屬性得到<Cell>元素的值,即其中<Data>元素的內容。根據讀取的一行數據內容構建一條INSERT命令,將新記錄插入到MySQL數據庫。

<?php

if ( $_FILES['file']['tmp_name'] ) {

$dom = DOMDocument::load( $_FILES['file']['tmp_name'] );

$rows = $dom->getElementsByTagName( 'Row' );

foreach ($rows as $row) {

$cells = $row->getElementsByTagName('Cell');

$vals=“”;

foreach( $cells as $cell )

$vals=$vals.“'”.$cell->nodeValue.“'”;

$vals=LEFT($vals,STRLEN($vals)-1);

$sql=“insert into BookStore(booktitle, publishor, price) values(“. $vals. “);”;

mysql_query($sql,$conn);

} } }

?>

四、結束語

本文介紹的Excel數據導入程序是針對某一種格式的Excel工作表的。利用這種Excel數據導入方法,實現原始數據到網站數據庫的自動導入,避免了大量數據重新輸入的問題,提高了管理人員的工作效率,可應用于商務網站管理平臺。

[1]微軟:Excel 2003幫助[EB/OL].http://office.microsoft.com/zh-cn/excel/

[2]徐輝:PHP Web程序設計教程與實驗[M].北京:清華大學出版社,2008

下載