本文目录一览:
- 1、在php生成excel文档时怎样设定字体大小?
- 2、php如何实现将一个页面以excel格式保存,需要的时候能在转化成页面形式显示
- 3、php怎么导出大量数据的Excel
- 4、php生成excel问题
- 5、用php的Smarty模板的后台程序,如何做文件导出(导成excel文件)???
在php生成excel文档时怎样设定字体大小?
PHP生成EXCEL有多种方法,不知道你的程序是用的哪种方法,各种方法的处理不一样。
最简单的生产的TAB或者逗号分割的文本,这类文件无法设置格式。
有的PHP实际上是生产的HTML,可以使用HTML代码控制格式,比如FONT
COLOR=XXX
SIZE=X。
有的PHP实际上是生产的XML,这类可以在CSS里面设置格式。
有的PHP是调用COM直接生成真正的EXCEL文件,这类程序可以使用COM调用设置格式,可以新打开一个EXCEL,用录制宏的办法获取设置字体大小的语句。
php如何实现将一个页面以excel格式保存,需要的时候能在转化成页面形式显示
需要用到PHPExcel
保存为Excel:
?php
header ( "content-type:text/html;charset=utf-8" );
/**
* Error reporting
*/
error_reporting ( E_ALL );
/**
* PHPExcel
*/
include_once './Classes/PHPExcel.php';
/**
* PHPExcel_Writer_Excel2003用于创建xls文件
*/
include_once './Classes/PHPExcel/Writer/Excel5.php';
// Create new PHPExcel object
$objPHPExcel = new PHPExcel ();
// Set properties
$objPHPExcel-getProperties ()-setCreator ( "RT" );
$objPHPExcel-getProperties ()-setLastModifiedBy ( "RT" );
$objPHPExcel-getProperties ()-setTitle ( "Office 2007 XLSX Test Document" );
$objPHPExcel-getProperties ()-setSubject ( "Office 2007 XLSX Test Document" );
$objPHPExcel-getProperties ()-setDescription ( "Test document for Office 2007 XLSX, generated using PHP classes." );-php创建excel文件
// Add some data
$objPHPExcel-setActiveSheetIndex ( 0 );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'A1', 'Date' );
// 合并单元格:
$objPHPExcel-getActiveSheet ()-mergeCells ( 'B1:F1' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'B1', 'CSAT Score' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'G1', 'Grand Total' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'H1', 'CSAT' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'A2', '08/01/11' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'B2', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'C2', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'D2', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'E2', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'F2', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'G2', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'H2', '0%' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'A3', '08/01/11' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'B3', '武汉' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'C3', '湖北' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'D3', '洪湖' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'E3', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'F3', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'G3', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'H3', '0%' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'A4', '08/01/11' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'B4', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'C4', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'D4', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'E4', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'F4', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'G4', '0' );
$objPHPExcel-getActiveSheet ()-SetCellValue ( 'H4', '0%' );
// Rename sheet
// $objPHPExcel-getActiveSheet()-setTitle('Csat');
// Save Excel 2007 file
// $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$d = date ( 'Y-m-d' );
$objWriter = new PHPExcel_Writer_Excel5 ( $objPHPExcel );
$objWriter-save ( str_replace ( '.php', '.xls', __FILE__ ) );
header ( "Pragma: public" );
header ( "Expires: 0" );
header ( "Cache-Control:must-revalidate,post-check=0,pre-check=0" );
header ( "Content-Type:application/force-download" );
header ( "Content-Type:application/vnd.ms-execl" );
header ( "Content-Type:application/octet-stream" );
header ( "Content-Type:application/download" );
header ( "Content-Disposition:attachment;filename=" . $d . ".xls" );
header ( "Content-Transfer-Encoding:binary" );
$objWriter-save ( "php://output" );
?
读取Excel内容:
?php
header ( "Content-Type:text/html;charset=utf-8" );
require_once 'excel_reader2.php';
// 创建对象
$data = new Spreadsheet_Excel_Reader ();
// 设置文本输出编码
$data-setOutputEncoding ( 'UTF-8' );
// 读取Excel文件
$data-read ( "e.xls" );
// $data-sheets[0]['numRows']为Excel行数
for($i = 1; $i = $data-sheets [0] ['numRows']; $i ++) {
// $data-sheets[0]['numCols']为Excel列数
for($j = 1; $j = $data-sheets [0] ['numCols']; $j ++) {
// 显示每个单元格内容
// echo $data-sheets[0]['cells'][$i][$j].' ';
$arr [$i] ['id'] = $data-sheets [0] ['cells'] [$i] [1];
// $arr[$i]['idcard']=$data-sheets[0]['cells'][$i][2];
$arr[$i]['stuno']=$data-sheets[0]['cells'][$i][3];
// $arr [$i] ['name'] = $data-sheets [0] ['cells'] [$i] [4];
$arr [$i] ['dept'] = $data-sheets [0] ['cells'] [$i] [5];
$arr [$i] ['major'] = $data-sheets [0] ['cells'] [$i] [6];
$arr [$i] ['class'] = $data-sheets [0] ['cells'] [$i] [7];
}
/*
* exit(); echo 'br';
*/
}
print_r ( $arr );
?
具体参考我的博客:
php怎么导出大量数据的Excel
php导出大量数据Excel的具体操作步骤如下:
1、使用phpstudy搭建一个测试平台,直接访问数据库。
2、下载的phpcms安装包拷贝到IIS目录,开通访问,即可搭建成功。
3、登录网站后台,系统权限,文件目录以及数据库等功能,进行管理。
4、在phpcms后台,扩展,数据库工具,数据库导出,程序池选择phpcmsv9,开始备份数据。
5、打开IIS网站目录,在D:\wwwroot\kmxy\wwwroot\caches\bakup\default文件夹,查看导出的数据库文件。
6、登录phpmyadmin,选择数据库导出,选择Excel格式,即可导出。
php生成excel问题
?php
ob_start();
define("FILETYPE","xls");
header("Content-type:application/vnd.ms-excel");
if(FILETYPE=="xls")
header("Content-Disposition:filename=report.xls");
else
header("Content-Disposition:filename=report.csv");
//逗号分隔值文件
/*
echo "姓名,年龄,性别\n";
//echo "efg\t\hij\t\n";
echo "张三,25,male";
echo "\n李四,27,male";
echo "\n王五,20,female";
*/
//xls file
echo "姓名\t年龄\t性别\n";
//echo "efg\t\hij\t\n";
echo "张三\t25\tmale";
echo "\n李四\t27\tmale";
echo "\n王五\t20\tfemale";
?
要生成csv或xls自己修改define内的值就可以!
呵呵!要用xls!记得给分哦!
用php的Smarty模板的后台程序,如何做文件导出(导成excel文件)???
smarty最后生成的也是html,所以以下是用js导出HTML表格到EXCEL的示例代码:
HTML
HEAD
TITLE将页面中指定表格的数据导入到Excel中/TITLE
SCRIPT LANGUAGE="javascript"
!--
function AutoExcel(){
var oXL =new ActiveXObject("Excel.Application"); //创建应该对象
var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
var table = document.getElementById("data");//指定要写入的数据源的id
var hang = table.rows.length;//取数据源行数
var lie = table.rows(0).cells.length;//取数据源列数
// Add table headers going cell by cell.
for (i=0;ihang;i++){//在Excel中写行
for (j=0;jlie;j++){//在Excel中写列
//定义格式
oSheet.Cells(i+1,j+1).NumberFormatLocal ="@";//将单元格的格式定义为文本
//oSheet.Cells(i+1,j+1).Font.Bold = true;//加粗
oSheet.Cells(i+1,j+1).Font.Size =10;//字体大小
oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;//向单元格写入值
}
}
oXL.Visible =true;
oXL.UserControl =true;
oXL=null
}
//--
/SCRIPT
/HEAD
BODY
table border="0" width="300" id="data" bgcolor="black" cellspacing="1"
tr bgcolor="white"
td编号/td
td姓名/td
td年龄/td
td性别/td
/tr
tr bgcolor="white"
td0001/td
td张三/td
td22/td
td女/td
/tr
tr bgcolor="white"
td0002/td
td李四/td
td23/td
td男/td
/tr
/table
input type="button" name="out_excel" onclick="AutoExcel();" value="导出到excel"
/BODY
/HTML