<?php
class Excel{
/**
*
*构建以个xml文件
*/
var $header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?\>
<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"
xmlns:x=\"urn:schemas-microsoft-com:office:excel\"
xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\"
xmlns:html=\"http://www.w3.org/TR/REC-html40\">";
/**
以Workbook开头,根据xml规则,就要以Workbook结尾
*/
var $footer = "</Workbook>";
/**
*
* 新建一个数组
*/
var $lines = array ();
/**
*
* 给当前工作表一个默认的名称
*/
var $worksheet_title = "Table1";
/**
*
* 处理一维数组,每一行
*
*/
function addRow ($array) {
// 每一行都由很多单元格组成,初始化这个单元格集合,采用字符串拼接的方式
$cells = "";
// foreach key -> write value into cells
foreach ($array as $k => $v):
$cells .= "<Cell><Data ss:Type=\"String\">" . $v . "</Data></Cell>\n";
endforeach;
// 把这些单元格合成一行
$this->lines[] = "<Row>\n" . $cells . "</Row>\n";
}
/**
*
*
*
* 处理二维数组
*/
function addArray ($array) {
// run through the array and add them into rows
foreach ($array as $k => $v):
$this->addRow ($v);
endforeach;
}
/**
*
*
*
* 设置工作薄的名称
*/
function setWorksheetTitle ($title) {
// strip out special chars first
$title = preg_replace ("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title);
// now cut it to the allowed length
$title = substr ($title, 0, 31);
// set title
$this->worksheet_title = $title;
}
/**
*
* 设置php下载名字,以及进行中文的乱码处理
*/
function generateXML ($filename,$widthArr) {
$ua = $_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header("Content-Type: application/vnd.ms-excel; charset=UTF-8");
if (preg_match("/MSIE/", $ua)) {
header('Content-Disposition: attachment; filename="' . $encoded_filename . '.xls"');
} else if (preg_match("/Firefox/", $ua)) {
header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '.xls"');
} else {
header('Content-Disposition: attachment; filename="' . $filename . '.xls"');
}
echo stripslashes ($this->header); //去掉反斜线字符,因为在 header的定义中的反斜线用来转义
echo "\n<Worksheet ss:Name=\"" . $this->worksheet_title . "\">\n<Table>\n";
print_r($widthArr);
$length=sizeof($widthArr);
for ($i = 0; $i <$length; $i++) {
$j=$i+1;
echo "<Column ss:Index=\"$j\" ss:AutoFitWidth=\"1\" ss:Width=\"$widthArr[$i]\"/>\n";
}
echo implode ("\n", $this->lines);
echo "</Table>\n</Worksheet>\n";
echo $this->footer;
}
}
?>
分享到:
相关推荐
PHP生成excel 直接参考demo.php文件即可
简单的php生成excel的类。操作很简单,直接传入相应的抬头和数据就行了。
一个php生成excel文件到指定目录的函数类。检查别名导入,加载当前项目应用类,加载其他应用类库,如果类不存在则导入类库文件,需要指定导出的数据字段,排序必须和title一致,就是和查出数据的数组key值。
php 生成 excel 的标准类库,同时也可以将execl导入生成php的标准数组以及xml格式数据等,方便互换功能,同时对execl的特殊标题等均可以实现设置,内附使用案例,非常简单。
php生成excel遇到版本不一或编码不一是个很头痛的问题,本人将平时工作时中所遇到的问题整理成实例,希望能帮到遇到同样问题的朋友。
php生成excel表格下载,自己在项目中使用,分享给大家。
一个php生成excel文件类源代码,从excel复制的xml规格,包含一个单一的工作表名称,添加一个单行的文档字符串$,添加一个数组到文档,设置工作表名称,生成excel文件。
PHPExcel-1.7.0 php 生成excel
生成excel函数php类库生成excel文件到指定目录的函数php类库
php输出excel php生成excel_.docx
最新版,很好很强大的PHP生成Excel类库。
php生成excel,已修改完全可用,网上那些下了半天都是错,不能忍啊。。。
php生成excel文件类库,需要的朋友可以参考下,方便大家学习php
PHP,PHPExcel生成Excel代码
介绍一个php生成excel文件到指定目录的函数类。检查别名导入,加载当前项目应用类,加载其他应用类库,如果类不存在则导入类库文件,需要指定导出的数据字段,排序必须和title一致,就是和查出数据的数组key值。
NULL 博文链接:https://onestopweb.iteye.com/blog/2393366
生成excel文件,最简单的莫过于把数据库的数据导入到excel就行了,下面有个不错的示例,大家可以参考下
今天 客户提问题说,导出的excel文件,该换行的单元格没有换行。通过查找资源找到了解决方法。
主要介绍了用PHP生成excel文件到指定目录的相关资料,需要的朋友可以参考下