php预览excel
‘壹’ 在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格式。
‘贰’ 用asp、php或html读取excel 数据并显示在当前网页上
将excel文件作为数据源,如通过oledb连接方式,读取时,一个工作表等同于一个table数据表,循环读取即可
‘叁’ php在线预览word,txt,xls文件,怎么做
思路
这种类似网络文库的flash预览文档的东东,其主要思路如下:
将word/excel/ppt格式的文档,即office支持的主要文档格式通过OpenOffice转成pdf的插件,将文档先转成pdf格式。
通过swftools(http://www.swftools.org/)这个软件将pdf转成flash格式。
最后flash的显示,可以使用flexpaper,亦可以自己写一个显示flash格式的东东,然后成功显示多种格式的文档,即类似网络文库的实现。
pdf的预览是将pdf的每一页转为图片,对应的放大、缩小均是对图片直接进行操作,此时放大、缩小会有失真的情况出现。
其他例如work/excel/ppt等文档,均是转为了html页面,是的在线预览时可以选中文字,图片等。
具体 很麻烦 需要 详细 请 私信!
‘肆’ PHP或者js怎么实现excel在线预览
PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)
PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。
下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:
<?php
require_once '/libs/PHPExcel-1.8.0/Classes/PHPExcel.php'; //修改为自己的目录
echo '<p>TEST PHPExcel 1.8.0: read xlsx file</p>';
$objReader = PHPExcel_IOFactory::createReaderForFile($filename);
$objPHPExcel = $objReader->load($filename);
$objPHPExcel->setActiveSheetIndex(1);
$date = $objPHPExcel->getActiveSheet()->getCell('A16')->getValue();
?>
输出$date变量就能够看到文件中的内容了。PHPExcel使用PHPExcel_IOFactory这个类来自动匹配所上传的文件类型,当然我们也可以自己制定要解析的文件类型。之后通过load方法,将PHP文件加载到objPHPExcel对象中。如果Excel文件有多个Sheet,可以通过setActiveSheetIndex来设置当前活动的Sheet。如何通过Sheet名来获得当前Sheet我还不知道,如果有知道的可以站内我。
需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换。
echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));
下面的代码显示了如何遍历显示Excel的内容:
<table id="table_id">
<?php
$objWorksheet = $objPHPExcel->getActiveSheet();
$i = 0;
foreach($objWorksheet->getRowIterator() as $row){
?>
<tr>
<?php
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
if( $i == 0 ){
echo '<thead>';
}
foreach($cellIterator as $cell){
echo '<td>' . $cell->getValue() . '</td>';
}
if( $i == 0 ){
echo '</thead>';
}
$i++;
?>
</tr>
<?php
}
?>
</table>
‘伍’ php读取excel文件示例分享(更新修改excel)
复制代码
代码如下:
//模板存放目录
$dir
=
$DOCUMENT_ROOT.'/backoffice/admin/oemcheck/';
$templateName
=
'1.xlsx';
$outputFileName
=
'模板.xlsx';
$txt='test';
//实例化Excel读取类
$PHPReader
=
new
PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($dir.$templateName)){
$PHPReader
=
new
PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($dir.$templateName)){
echo
'无法识别的Excel文件!';
return
false;
}
}
//读取Excel
$PHPExcel
=
$PHPReader->load($dir.$templateName);
//读取工作表1
$currentSheet
=
$PHPExcel->getSheet(0);
$currentSheet->setCellValue('B13',iconv('gbk','utf-8',$txt));//表头赋值//
//实例化Excel写入类
$PHPWriter
=
new
PHPExcel_Writer_Excel2007($PHPExcel);
ob_start();
header("Content-Type:
application/force-download");
header("Content-Type:
application/octet-stream");
header("Content-Type:
application/download");
header('Content-Disposition:attachment;filename="'
.$outputFileName.
'"');//输出模板名称
header("Content-Transfer-Encoding:
binary");
header("Last-Modified:".gmdate("D,
d
M
Y
H:i:s")."
GMT");
header('Pragma:
public');
header('Expires:
30');
header('Cache-Control:
public');
$PHPWriter->save('php://output');
‘陆’ php 读取excel
有一个简便的方法 将数据输出到网页的table标签里面 然后改变header头为excel
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=文件名称.xls");
正式点的
前端使用bootstrapTable插件导出excel
后端PHP使用PHPEXCEL插件
‘柒’ php能预览excel吗
PHP读取excel的方法,如果你的服务器不支持COM组件,我就不好说了,下面的只是示范的例子。<?PHP
$filename = "c:/spreadhseet/test.xls";
$sheet1 = 1;
$sheet2 = "sheet2";
$excel_app = new COM("Excel.application") or Die ("Did not connect");
print "Application name: {$excel_app->Application->value}n" ;
print "Loaded version: {$excel_app->Application->version}n";
$Workbook = $excel_app->Workbooks->Open("$filename") or Die("Did not open $filename $Workbook");
$Worksheet = $Workbook->Worksheets($sheet1);
$Worksheet->activate;
$excel_cell = $Worksheet->Range("C4");
$excel_cell->activate;
$excel_result = $excel_cell->value;
print "$excel_resultn";
$Worksheet = $Workbook->Worksheets($sheet2);
$Worksheet->activate;
$excel_cell = $Worksheet->Range("C4");
$excel_cell->activate;
$excel_result = $excel_cell->value;
print "$excel_resultn";
#To close all instances of excel:
$Workbook->Close;
unset($Worksheet);
unset($Workbook);
$excel_app->Workbooks->Close();
$excel_app->Quit();
unset($excel_app);
?>
‘捌’ php怎么读取excel 文件数据并输出
PHPExcel
PHPExcel是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
PHP读取示例代码
//获取上传的excel临时文件
$path=$_FILES["file"]["tmp_name"];
//将临时文件移动当前目录,可自定义存储位置
move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
//将获取在服务器中的Excel文件,此处为上传文件名
$path=$_FILES["file"]["name"];
//调用readExcel函数返回一个
二维数组
$exceArray=readExcel($path);
//创建一个读取
excel函数
functionreadExcel($path){
//引入PHPExcel类库
include'Classes/PHPExcel.php';
include'Classes/PHPExcel/IOFactory.php';
$type='Excel5';//设置为Excel5代表支持2003或以下版本,
Excel2007代表2007版
$xlsReader=PHPExcel_IOFactory::createReader($type);
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$Sheets=$xlsReader->load($path);
//开始读取上传到服务器中的Excel文件,返回一个
二维数组
$dataArray=$Sheets->getSheet(0)->
toArray();
return$dataArray;
}
‘玖’ PHP请问我需要在页面上显示 EXCEL表格,并且能下载怎么做呢
$retdata=array(); //内容 //二维数组
$filename= "文件.csv";
//生成头文件
$now = gmdate("D, d M Y H:i:s");
header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate");
header("Last-Modified: {$now} GMT");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename={$filename}");
header("Content-Transfer-Encoding: binary");
//生成表格
$title=array('"金额"','"会员"','"余额"'); //每列的标题
$str=implode(',',$title) . PHP_EOL;
foreach ($retdata as $row) {
// print_r($row);
$str_arr = array();
foreach ($row as $column) {
$str_arr[] = '"' . str_replace('"', '""', $column) . '"';
}
$str.=implode(',', $str_arr) . PHP_EOL;
}
print(chr(0xEF).chr(0xBB).chr(0xBF));
echo $str;
‘拾’ php 生成excel后,在浏览器输出excel的名称
设置header下面的属性试试,
header("Content-Disposition: attachment; filename=$name");//$name改成想要显示的名字