php生成 word,php使用phpword生成word文档

该PHP脚本使用PHPWord库创建包含前三日雨量报表的Word文档。首先,它设置字体样式和段落样式,然后创建表格并从数据库中获取雨量数据填充。如果请求参数包含'1',则生成报表;如果包含'3',则添加地质灾害信息。最后,将生成的Word文档以指定格式输出。
摘要由CSDN通过智能技术生成

php使用phpword生成word文档 :

require_once '../libs/PHPWord/PHPWord.php';

require_once '../libs/PHPWord/PHPWord/IOFactory.php';

require_once '../../config.php';

// require_once '../common/conn.php';

// New Word Document

$PHPWord = new PHPWord();

/**********文本格式的word text.php************/

// New portrait section

//逗号 分割字符串

$arr = $_REQUEST['arr'];

$a = explode(',',$arr);

//echo $arr;

date_default_timezone_set("Asia/Shanghai");//设置一个时区

$tm=date('Y-m-d H:i:s');

//exit($tm);

/**********前多日雨量*********/

if(in_array('1', $a, TRUE)){

$section = $PHPWord->createSection();

$PHPWord->addFontStyle('rStyle', array('bold'=>false, 'italic'=>false, 'size'=>16));

$PHPWord->addParagraphStyle('pStyle', array('align'=>'center', 'spaceAfter'=>100));

$c = "前三日雨量报表";

$section->addText($c, 'rStyle', 'pStyle');

$styleTable = array('borderSize'=>6, 'borderColor'=>'006699', 'cellMargin'=>80);

$styleFirstRow = array('borderBottomSize'=>18, 'borderBottomColor'=>'0000FF', 'bgColor'=>'66BBFF');

// Define cell style arrays

$styleCell = array('valign'=>'center');

// Define font style for first row

$fontStyle = array('bold'=>true, 'align'=>'center');

//设置标题

$PHPWord->addFontStyle('rStyle', array('bold'=>true, 'italic'=>true, 'size'=>16));

$PHPWord->addParagraphStyle('pStyle', array('align'=>'center', 'spaceAfter'=>100));

// Add table style

$PHPWord->addTableStyle('myOwnTableStyle', $styleTable, $styleFirstRow);

// Add table

$table = $section->addTable('myOwnTableStyle');

// Add row设置行高

$table->addRow(500);

$table->addCell(2300, $styleCell)->addText('站码', $fontStyle);

$table->addCell(2300, $styleCell)->addText('站名', $fontStyle);

$table->addCell(2300, $styleCell)->addText('雨量', $fontStyle);

$table->addCell(2300, $styleCell)->addText('水文站监测类型', $fontStyle);

$conn = mssql_connect($config['mssql']['host'],$config['mssql']['user'],$config['mssql']['password']);

mssql_select_db($config['mssql']['dbname'],$conn);

$stm = date('Y-m-d H:i:s',strtotime('-3 days'));

$sql = "EXEC HNOW05_GETPPSPACE '','','".$stm."',1,1";

$res=mssql_query($sql);

while($arr = mssql_fetch_array($res)){

//echo $arr["STCD"]."";

$table->addRow();

$table->addCell(2300)->addText($arr["STCD"]);

$table->addCell(2300)->addText($arr["STNM"]);

$table->addCell(2300)->addText($arr["P"]);

if($arr["STTP"] == 'MM'){

$table->addCell(2300)->addText('气象站');

}else if($arr["STTP"] == 'BB'){

$table->addCell(2300)->addText('蒸发站');

}else if($arr["STTP"] == 'DD'){

$table->addCell(2300)->addText('堰闸水文站');

}else if($arr["STTP"] == 'TT'){

$table->addCell(2300)->addText('落潮位站');

}else if($arr["STTP"] == 'DP'){

$table->addCell(2300)->addText('泵站');

}else if($arr["STTP"] == 'SS'){

$table->addCell(2300)->addText('墒情站');

}else if($arr["STTP"] == 'PP'){

$table->addCell(2300)->addText('雨量站');

}else if($arr["STTP"] == 'ZZ'){

$table->addCell(2300)->addText('河道水位水文站');

}else if($arr["STTP"] == 'RR'){

$table->addCell(2300)->addText('水库水文站');

}else if($arr["STTP"] == 'ZG'){

$table->addCell(2300)->addText('地下水站');

}else if($arr["STTP"] == 'ZB'){

$table->addCell(2300)->addText('分洪水位站');

}

}

$section->addTextBreak(2);

}else{

}

/******地质灾害*******/

if(in_array('3', $a, TRUE)){

$section = $PHPWord->createSection();

$PHPWord->addFontStyle('rStyle', array('bold'=>false, 'italic'=>false, 'size'=>16));

$PHPWord->addParagraphStyle('pStyle', array('align'=>'center', 'spaceAfter'=>100));

$c = "地质灾害";

$section->addText($c, 'rStyle', 'pStyle');

$content="根据市气象局未来24小时降雨预报和市水利局实时降雨数据,市国土资源局进行了地质灾害预报,

请有关部门关注

实时预警信息,做好地质灾害防范工作";

$section->addText($content);

// Add image elements

$section->addImage("images/image001.jpg", array('width'=>600, 'height'=>480, 'align'=>'center'));

}else{

}

// Save File

$fileName = "word报表".date("YmdHis");

header("Content-type: application/vnd.ms-word");

header("Content-Disposition:attachment;filename=".$fileName.".docx");

header('Cache-Control: max-age=0');

$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');

$objWriter->save('php://output');

?>

以上就是php使用phpword生成word文档 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关文章:

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值