thinkphp8文档(thinkphp之excel的导出excel怎么居中)
本文目录
- thinkphp之excel的导出excel怎么居中
- thinkphp如何设置runtime文件的存储路径!
- thinkphp怎么生成静态页面 还有发布的文章也是
- thinkphp怎么生成word
- 用thinkPHP上传一份word文件,怎样显示出来
- ThinkPHP如何给网页加公共的header文件和footer文件
- Thinkphp模板目录怎么设置
thinkphp之excel的导出excel怎么居中
导入Excel
第一,在前台html页面进行上传文件:如:
《form method="post" action="php文件" enctype="multipart/form-data"》
《h3》导入Excel表:《/h3》《input type="file" name="file_stu" /》
《input type="submit" value="导入" /》
《/form》
第二,在对应的php文件进行文件的处理
if (! empty ( $_FILES ))
{
$tmp_file = $_FILES ;
$file_types = explode ( ".", $_FILES );
$file_type = $file_types ;
if (strtolower ( $file_type ) != "xls")
{
$this-》error ( ’不是Excel文件,重新上传’ );
}
$savePath = SITE_PATH . ’/public/upfile/Excel/’;
/*以时间显示来命名上传的文件*/
$str = date ( ’Ymdhis’ );
$file_name = $str . "." . $file_type;
if (! copy ( $tmp_file, $savePath . $file_name ))
{
$this-》error ( ’die’ );
}
$res = Service ( ’ExcelToArray’ )-》read ( $savePath . $file_name );
//spl_autoload_register ( array (’Think’, ’autoload’ ) );
/*对生成的数组进行数据库的写入*/
foreach ( $res as $k =》 $v )
{
if ($k != 0)
{
$data ;
$data = sha1 ( ’111111’ );
$data ;
$data ;
$data ;
$result = M ( ’user’ )-》add ( $data );
if (! $result)
{
$this-》error ( ’导入数据库失败’ );
}
}
}
}
第三:ExcelToArrary类,用来引用phpExcel并处理Excel数据的
备注:ExcelToArrary类建在根目录下的 add*** /services/*****中
class ExcelToArrary extends Service{
public function __c***truct() {
include_once(’./Excel/*****’);
}
public function read($filename,$encode=’utf-8’){
$objReader = PHPExcel_IOFactory::createReader(’Excel5’);
$objReader-》setReadDataOnly(true);
$objPHPExcel = $objReader-》load($filename);
$objWorksheet = $objPHPExcel-》getActiveSheet();
$highestRow = $objWorksheet-》getHighestRow();
$highestColumn = $objWorksheet-》getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$excelData = array();
for ($row = 1; $row 《= $highestRow; $row++) {
for ($col = 0; $col 《 $highestColumnIndex; $col++) {
$excelData =(string)$objWorksheet-》getCellByColumnAndRow($col, $row)-》getValue();
}
}
return $excelData;
}
}
第四,以上就是导入的全部内容,phpExcel包附在最后。
(二)Excel的导出(相对于导入简单多了)
第一,先查出数据库里面要生成Excel的数据,如:
$data= M(’User’)-》findAll(); //查出数据
$name=’Excelfile’; //生成的Excel文件文件名
$res=service(’ExcelToArrary’)-》push($data,$name);
第二,ExcelToArrary类,用来引用phpExcel并处理数据的
class ExcelToArrary extends Service{
public function __c***truct() {
/*导入phpExcel核心类 注意 :你的路径跟我不一样就不能直接复制*/
include_once(’./Excel/*****’);
}
/* 导出excel函数*/
public function push($data,$name=’Excel’){
error_reporting(E_ALL);
date_default_timezone_set(’Europe/London’);
$objPHPExcel = new PHPExcel();
$objPHPExcel-》getProperties()-》setCreator("php爱好者")
-》setLastModifiedBy("php爱好者")
-》setTitle("数据EXCEL导出")
-》setSubject("数据EXCEL导出")
-》setDescription("备份数据")
-》setKeywords("excel")
-》setCategory("result file");
foreach($data as $k =》 $v){
$num=$k+1;
$objPHPExcel-》setActiveSheetIndex(0)
//Excel的第A列,uid是你查出数组的键值,下面以此类推
-》setCellValue(’A’.$num, $v)
-》setCellValue(’B’.$num, $v)
-》setCellValue(’C’.$num, $v)
}
$objPHPExcel-》getActiveSheet()-》setTitle(’User’);
$objPHPExcel-》setActiveSheetIndex(0);
header(’Content-Type: application/vnd.ms-excel’);
header(’Content-Disposition: attachment;filename="’.$name.’.xls"’);
header(’Cache-Control: max-age=0’);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ’Excel5’);
$objWriter-》save(’php://output’);
exit;
}
thinkphp如何设置runtime文件的存储路径!
ThinkPHP的编译缓存文件*****:
1.定义单入口文件(*****)
在单入口*****中不定义这两项时,会生成编译缓存文件~*****
define(’RUNTIME_PATH’,’./App/Temp/’);
//定义编译目录
define(’APP_DEBUG’,TRUE);
//开启调试模式
上述两行不能在*****中作用,则*****变为
《?php
define(’APP_NAME’,’App’);
//项目名称
define(’APP_PATH’,’./App/’);
//项目路径
include
’./ThinkPHP/*****’;
//引入ThinkPHP核心运行文件
?》
2.生成编译缓存文件(~*****)
3.复制~*****中的全部内容到*****中,运行效果会和之前一样。
~*****中缓存的编译内容,相当于把*****引导的所有操作全部集成到~*****文件中。
有了这个缓存的编译文件,*****在下次运行时,不再引导,而是直接检测是否存在~*****编译缓存文件,如果在,则直接运行~*****。
thinkphp怎么生成静态页面 还有发布的文章也是
你先搜下不就行了....
1、在入口文件*****文件中定义生成静态页面的文件位置
define(’HTML_PATH’,’./htm’);
2、在根目录的config文件夹中的*****配置静态页面的类型,设为 html
’HTML_FILE_SUFFIX’ =》 ’.html’,// 默认静态文件后缀
3、在“Tpl/default/”目录中新建一个Index的文件夹,文件夹下面新建一个*****的模板,
模板里面内容为:这是生成静态页例子
4、********中的代码
class IndexAction extends Action{
publicfunction index(){
$this-》buildHtml(’1’,HTML_PATH.’/’,’index’,’utf8’);//注意:这里的utf8不能写成utf-8
$this-》display();
}
}
解释:
这里的buildHtml是thinkphp内置的函数,这里的意思是:
将index的模板文件生成utf8编码格式的静态网页,该文件名为*****,存在于根目录的htm文件中
该函数有5个参数,具体如下:
buildHtml($htmlfile,$htmlpath,$templateFile,$charset,$contentType=’text/html’)
参数:
$htmlfile生成的静态文件名称
$htmlpath生成的静态文件路径
$templateFile 指定要生成静态的模板文件
$charset生成静态文件的编码格式
$contentType生成静态文件的类型
thinkphp怎么生成word
PHP操作Word文档的方法有很多,这里为大家提供一种高效方法,要比服务器安装com组件效率高的多,因为 word的com组件还要打开客户端。
首先保证你的服务器安装Microsoft Office
本文以下载素材火的特效页面,作为word输出内容。当然你也可以自定义字符串内容,比如表格、列表、标题等。
若是有图片的话,咱们必须转换成mht格式。
PHP生成word,并即时下载代码:
***隐藏网址***
$fileContent = getWordDocument($url);
$fileName = iconv("utf-8", "GBK", ’素材火’ . ’_’ . $id . ’_’ . rand(100, 999));
header("Content-Type: application/doc");
header("Content-Disposition: attachment; filename=" . $fileName . ".doc");
echo $fileContent;
用thinkPHP上传一份word文件,怎样显示出来
《?php
/*
* 必须将 ***** 中的 *****_dcom 设为 TRUE
*/
function php_Word($wordname,$htmlname,$content)
{
//获取链接地址
$url = $_SERVER;
$url = ";
$url = $url.$_SERVER;
$url = dirname($url)."/";
//建立一个指向新COM组件的索引
$word = new COM("*****") or die("Unable to instanciate Word");
//显示目前正在使用的Word的版本号
echo "Loading Word, v. {$word-》Version}";
//把它的可见性设置为0(假),如果要使它在最前端打开,使用1(真)
$word-》Visible = 1;
//---------------------------------读取Word内容操作 START-----------------------------------------
//打开一个word文档
$word-》Documents-》Open($url.$wordname);
//将*****转换为html格式,并保存为html文件
$word-》Documents-》SaveAs(dirname(__FILE__)."/".$htmlname,8);
//获取htm文件内容并输出到页面 (文本的样式不会丢失)
$content = file_get_contents($url.$htmlname);
echo $content;
//获取word文档内容并输出到页面(文本的原样式已丢失)
$content= $word-》ActiveDocument-》content-》Text;
echo $content;
//关闭与COM组件之间的连接
$word-》Documents-》close(true);
$word-》Quit();
$word = null;
unset($word);
//---------------------------------新建立Word文档操作 START--------------------------------------
//建立一个空的word文档
$word-》Documents-》Add();
//写入内容到新建word
$word-》Selection-》TypeText("$content");
//保存新建的word文档
$word-》Documents-》SaveAs(dirname(__FILE__)."/".$wordname);
//关闭与COM组件之间的连接
$word-》Quit();
}
php_Word("*****","*****","写入word的内容");
?》
ThinkPHP如何给网页加公共的header文件和footer文件
在thinkPHP的手册的模板里面有模板继承,模板继承的优势其实是设计基础模板中的区块(block)和子模板中替换这些区块
具体如下:
每个区块由《block》《/block》标签组成。下面就是基础模板中的一个典型的区块设计(用于设计网站标题):
《block name="title"》《title》网站标题《/title》《/block》
block标签必须指定name属性来标识当前区块的名称,这个标识在当前模板中应该是唯一的,block标签中可以包含任何模板内容,包括其他标签和变量,例如:
《block name="title"》《title》{$web_title}《/title》《/block》
甚至还可以在区块中加载外部文件:
《block name="include"》《include file="Public:header" /》《/block》
一个模板中可以定义任意多个名称标识不重复的区块,例如下面定义了一个*****基础模板:
《html》
《head》
***隐藏网址***
《block name="title"》《title》标题《/title》《/block》
《/head》
《body》
《block name="menu"》菜单《/block》
《block name="left"》左边分栏《/block》
《block name="main"》主内容《/block》
《block name="right"》右边分栏《/block》
《block name="footer"》底部《/block》
《/body》
《/html》
然后我们在子模板(其实是当前操作的入口模板)中使用继承:
《extend name="base" /》
《block name="title"》《title》{$title}《/title》《/block》
《block name="menu"》《a href="/" 》首页《/a》
《a href="/info/" 》资讯《/a》
《a href="/bbs/" 》论坛《/a》
《/block》《block name="left"》《/block》
《block name="content"》《
volist name="list" id="vo"》
《a href="/new/{$*****}"》{$*****}《/a》《br/》 {$*****}《/volist》
《/block》
《block name="right"》 最新资讯:《volist name="news" id="new"》《a href="/new/{$*****}"》{$*****}《/a》《br/》
《/volist》
《/block》
《block name="footer"》 @ThinkPHP2012 版权所有《/block》
可以看到,子模板中使用了extend标签定义需要继承的模板,extend标签的用法和include标签一样,你也可以加载其他模板:
《extend name="Public:base" /》
或者使用绝对文件路径加载
《extend name="./Template/Public/*****" /》
在当前子模板中,只能定义区块而不能定义其他的模板内容,否则将会直接忽略,并且只能定义基础模板中已经定义的区块。
例如,如果采用下面的定义:
《block name="title"》《title》{$title}《/title》《/block》《a href="/" 》首页《/a》《a href="/info/" 》资讯《/a》《a href="/bbs/" 》论坛《/a》
导航部分将是无效的,不会显示在模板中。
在子模板中,可以对基础模板中的区块进行重载定义,如果没有重新定义的话,则表示沿用基础模板中的区块定义,如果定义了一个空的区块,则表示删除基础模板中的该区块内容。上面的例子,我们就把left区块的内容删除了,其他的区块都进行了重载。
子模板中的区块定义顺序是随意的,模板继承的用法关键在于基础模板如何布局和设计规划了,如果结合原来的布局功能,则会更加灵活。
Thinkphp模板目录怎么设置
thinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:视图目录/***名/操作名+模板后缀。
默认的视图目录是模块的View目录(模块可以有多个视图文件目录,这取决于你的应用需要),框架的默认视图文件后缀是.html。 新版模板主题默认是空(表示不启用模板主题功能)。
在每个模板主题下面,是以模块下面的***名为目录,然后是每个***的具体操作模板文件,例如:
User***的add操作 对应的模板文件就应该是:View/User/*****
一些其他配置:
1.’DEFAULT_V_LAYER’ =》 ’Template’, // 设置默认的视图层名称
//结果:Template/User/*****
2. ’TMPL_TEMPLATE_SUFFIX’=》’.tpl’, //设置默认后缀
//结果:View/User/*****
3.’TMPL_FILE_DEPR’=》’_’, //配置模板的目录层次
//结果:View/User_*****
4.’DEFAULT_THEME’ =》 ’default’, // 设置默认的模板主题
// 没有启用模板主题之前 View/User/*****
// 启用模板主题之后 View/default/User/*****
更多文章:
matlab正版安装(MATLAB7.0下载后如何安装使用)
2026年5月4日 02:20
eclipse提交代码(eclipse中如何向开源中国(码云)上传代码)
2026年5月4日 01:40
登记php网站源码(我有一份PHP的网站源码,怎么从这个源码中找到后台的登录地址)
2026年5月4日 01:20
表单大师怎么看填写的信息(可以使用表单大师创建表单后提醒填写信息的人填写成功或者修改填写的信息的短信吗)
2026年5月4日 00:20
html视频怎么下载(知道视频的网址(html)但不可以下载,怎样用****啊)
2026年5月3日 23:40






