導航:首頁 > 編程語言 > phpcomexcel

phpcomexcel

發布時間:2022-05-26 11:58:37

A. php調用COM組件操作EXCEL文檔的問題

COM組件是通用的,如果你想用調用COM組件來操作EXCEL文檔,建議可以參考的工具和資料如下:

1. office (excel)VBA幫助文檔,VBA中包含對象、屬性、方法的說明。

2. 使用OCX、DLL等查看工具,比如:

oleview軟體

比較簡便的辦法,你可以下載 vbsEdit 軟體,其中帶有 oleview 查看工具,當你引入某個 com 組件時,會自動顯示該組件對象的方法、屬性等。

B. PHP用COM打開一個EXCEL出現亂碼,類似中文

樓上回答的對,PHPExcel,一般都用這個,你說的那個不常用,不如他說的這個好用

C. php 怎麼把數據導出到excel表格

昨天項目里有個新需求,客戶希望把一些數據能導出成為Excel表格,剛開始用PHP原生輸入Excel表格,發現效果不是很理想,於是找到一個比較著名的庫:PHPExcel。下面是一個簡單的demo,分享給大家,希望可以幫到有同樣需求的朋友。

網頁鏈接

D. php怎麼導出大量數據的Excel,phpexcel

不帶格式的:
1、 直接寫csv文件。
2、COM調用adodb操作excel讀取
想要帶格式的標准xls文件:
請用COM調用adodb讀取,然後調用excel.application格式化。

其他的方法就是扯淡,別給我說
1、phpexcel,那資源消耗只適合玩單機,兼容性也不夠!
2、pear的可以帶格式輸出,但兼容性很差,經常打不開
3、xml方式,製作模板 比較費時。

總結:不帶格式,就用csv最簡單

想帶格式就用adodb+excel.application來操作,(注意:excel 格式化很慢,adodb導出很快,帶格式寫excel就是個悲劇!)

E. php導入excel 怎麼獲取excel表格數據

常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優缺點。個人推薦用第三種方法,因為它可以跨平台使用。

1. 以.csv格式讀取

將.xls轉換成.csv的文本格式,然後再用PHP分析這個文件,和PHP分析文本沒有什麼區別。

優點:跨平台,效率比較高、可以讀寫。

缺點:只能直接使用.csv的文件,如果經常接受.xls二進制文件的話需要手工轉換,不能自動化。一個文件只有一個SHEET。

PHP有自帶的分析.csv函數:fgetcsv

array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )

handle 一個由 fopen()、popen() 或 fsockopen() 產生的有效文件指針。

length (可選)必須大於 CVS 文件內最長的一行。在 PHP 5 中該參數是可選的。如果忽略(在 PHP 5.0.4 以後的版本中設為 0)該參數的話,那麼長度就沒有限制,不過可能會影響執行效率。

delimiter (可選)設置欄位分界符(只允許一個字元),默認值為逗號。

enclosure (可選)設置欄位環繞符(只允許一個字元),默認值為雙引號。該參數是在 PHP 4.3.0 中添加的。 和 fgets() 類似,只除了 fgetcsv() 解析讀入的行並找出 CSV 格式的欄位然後返回一個包含這些欄位的數組。

fgetcsv() 出錯時返回 FALSE,包括碰到文件結束時。

注意: CSV 文件中的空行將被返回為一個包含有單個 null 欄位的數組,不會被當成錯誤。

當然也可以自己手動分析字元串。

還可以利用fputcsv函數將行格式化為 CSV 並寫入文件指針。

2. ODBC鏈接數據源

優點:支持多種格式,cvs, xls等。支持讀寫,使用標准SQL語言,和SQLSERVER、MYSQL資料庫幾乎完全一樣。

缺點:值支持windows伺服器

3. PHP自定義類

優點:跨平台。某些類支持寫操作。支持.xls二進制文件

常用的類有phpExcelReader、PHPExcel。其中後者支持讀寫,但是需要php5.2以上版本。

phpExcelReader是專門用來讀取文件的。返回一個數組,包含表格的所有內容。

該 class 使用的方法可以參考網站下載回來的壓縮檔中的 example.php。

不過我下載回來的 (版本 2009-03-30),有兩點要注意:

reader.php 中的下面這行要修改

將 require_once 『Spreadsheet/Excel/Reader/OLERead.php』;

改為 require_once 『oleread.inc』;

example.php 中

修改 $data->setOutputEncoding(』CP1251′);

為 $data->setOutputEncoding(』CP936′);

example2.php 中

修改 nl2br(htmlentities($data->sheets[$sheet]['

F. 在PHP中操作Excel實例代碼

復制代碼
代碼如下:
<?php
//指定頁面編碼,防止出現中文亂碼的情形
header('Content-type:
text/html;
charset=gb2312');
//啟動Excel
$ms_excel=new
COM("excel.application")
or
die("不能打開Excel應用程序");
//在網頁中顯示當前的Excel版本
echo
"Excel版本:{$ms_excel->Version}\n";
//新建一個工作簿
$ms_excel->Application->Workbooks->Add()
or
die("不能添加新工作簿");
//在工作簿的工作表Sheet1中單元格A1中輸入文本
$ms_excel->Worksheets("Sheet1")->Range("A1")->Value="測試";
//保存工作簿,如果沒有指定路徑,則默認保存在我的文檔中
$ms_excel->Workbooks(1)->SaveAs("php_excel_test.xls");
//關閉工作簿
$ms_excel->Quit();
//清空對象
$ms_excel=null;
?>
在htdocs文件夾中將該文件保存為「excelsample.php」。打開瀏覽器,在地址欄中輸入:
http://localhost/excelsample.php
此時,將會在頁面中顯示當前的Excel版本,同時創建名為php_excel_test.xls的工作簿並在工作表Sheet1單元格A1中輸入「測試」。
打開工作簿php_excel_test.xls,在單元格A1中將會看到已經輸入了「測試」。
註:為防止出現亂碼,在代碼開始設置了編碼格式,同時在保存文件時選擇保存為gb2312格式。

G. PHP com 組件調用excel 失敗

以下一個php調用COM訪問excel的示例:

<?php
//指定頁面編碼,防止出現中文亂碼的情形
header('Content-type: text/html; charset=gb2312');

//啟動Excel
$ms_excel = new COM("excel.application") or die("不能打開Excel應用程序");

//打開excel文件
$ms_excel->Application->WorkBooks->Open( 'e:\test\test.xls') or die("不能打開工作簿");

//在工作簿的第2個工作表的單元格B1中輸入文本
$ms_excel->Worksheets(2)->Range("B1")->Value = "測試";

//保存工作簿
if(!$ms_excel->ActiveWorkBook->Saved)
{
$ms_excel->ActiveWorkBook->save();
}

//關閉工作簿
$ms_excel->Quit();

//清空對象
$ms_excel = null;
?>

H. 基於php中使用excel的簡單介紹

在工作中需要處理多語言的翻譯問題,翻譯都是寫在excel表格裡面。為了處理方便我就保留中文和英文兩列。
這樣需要將這些數據從excel中取出來,然乎保存在excel的數組中,通過使用循環數組將相應的數據放入到資料庫中。
所以工作的第一步就是要將數據從excel中取出來。這里我使用到了一個開源php處理excel類:phpexcel.
該項目的詳細信息
http://phpexcel.codeplex.com/

我目前使用的是phpexcel1.7.3版本,
解壓縮後裡面有一個PHPExcel和PHPExcel.php文件。
我們主要使用那個PHP文件。見下圖文件目錄結構
這個版本據說是可以支持excel2007,但是我使用2007編輯的xlsx是無法獲得該庫的支持。於是乎我就將它轉化為2003。感覺支持地很好。
下面介紹一下具體的使用:
復制代碼
代碼如下:
require_once('./phpexcel1.7.3/PHPExcel.php');
$php_excel_obj
=
new
PHPExcel();
$php_reader
=
newPHPExcel_Reader_Excel2007();
if(!$php_reader->canRead($file_name)){

$php_reader=
new
PHPExcel_Reader_Excel5();

if(!$php_reader->canRead($file_name)){

echo'NO
Excel!'

}
}
$php_excel_obj
=
$php_reader->load($file_name);
$current_sheet
=$php_excel_obj->getSheet(0);
上面的主要功能是初始化相關的excel類,並裝載excel第一個sheet
復制代碼
代碼如下:
$all_column
=$current_sheet->getHighestColumn();
$all_row
=$current_sheet->getHighestRow();
以上分別獲得該表格的最大列值(字母表示如:『G'),和最大的行數(數值表示)
下面將使用循環來講excel裡面的數據讀到excel中:
復制代碼
代碼如下:
$all_arr
=
array();
$c_arr
=
array();
//字元對照表
for($r_i
=
1;
$r_i<=$all_row;
$r_i++){

$c_arr=
array();

for($c_i=
'A'
$c_i<=
'B'
$c_i++){

$adr=
$c_i
.
$r_i;

$value=
$current_sheet->getCell($adr)->getValue();

if($c_i==
'A'
&&
empty($value)
)
break;

if(is_object($value))
$value=
$value->__toString();

$c_arr[$c_i]=
$value;

}

$c_arr&&
$all_arr[]
=
$c_arr;
}
下面簡單地介紹一下phpexcel的寫操作,這個操作經常用於將資料庫中的數據導入到excel中,便於展示和做成更美觀的效果。
復制代碼
代碼如下:
require_once('./phpexcel1.7.3/PHPExcel.php');
$excel_obj
=
new
PHPExcel();
$objWriter
=
newPHPExcel_Writer_Excel5($excel_obj);
$excel_obj->setActiveSheetIndex(0);
$act_sheet_obj=$excel_obj->getActiveSheet();
$act_sheet_obj->setTitle('sheet');
$act_sheet_obj->setCellValue('A1',
'字元串內容');
$act_sheet_obj->setCellValue('A2',
26);
$file_name
=
"output.xls";
$objWriter->save($file_name);
代碼很簡單,
首先初始化相關的excel寫類,然後寫入數據,最後保存為xls文件。
輸出的效果見圖

I. 高手幫我解決下PHP讀取Excel文件亂碼的問題

不能使用readfile顯示XLS文件,這樣肯定是亂碼。

PHP中顯示EXCEL需要使用一些插件,或者使用COM打開EXCEL進程。更簡單的辦法是在EXCEL裡面另存為,選擇網頁格式,這樣的文件可以直接在網頁顯示。

閱讀全文

與phpcomexcel相關的資料

熱點內容
編程語言執行速度排行 瀏覽:174
啟辰原廠導航如何裝app 瀏覽:840
jsp項目優秀源碼 瀏覽:757
如何查看電腦web伺服器埠號 瀏覽:901
小區物業管理系統編程源碼 瀏覽:95
王城戰爭為什麼無法獲取伺服器列表 瀏覽:804
劍橋商務英語pdf 瀏覽:480
伺服器如何不休眠 瀏覽:800
微機原理及介面技術編程 瀏覽:204
解壓迷你游戲機手柄 瀏覽:553
androidrtsp框架 瀏覽:545
阿里女程序員內網徵婚 瀏覽:78
比例閥放大器接plc編程 瀏覽:852
java表示二進制 瀏覽:394
數控銑床外輪廓編程 瀏覽:91
pdftomp4 瀏覽:821
基於單片機的直流電機控制系統設計 瀏覽:879
微信程序APP怎怎麼注冊 瀏覽:123
java日歷課程設計 瀏覽:455
pythonrequests假死 瀏覽:870