乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > poi如何通过模板导出excel

poi如何通过模板导出excel

作者:乔山办公网日期:

返回目录:excel表格制作


通过这个例子,演示以下如何用java生成excel文件:
import org.apache.poi.hssf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
publicclass CreateCells
{
publicstaticvoid main(String[] args)
throws IOException
{
HSSFWorkbook wb = new HSSFWorkbook();//建立新HSSFWorkbook对象
HSSFSheet sheet = wb.createSheet("new sheet");//建立新的sheet对象
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short)0);//建立新行
// Create a cell and put a value in it.
HSSFCell cell = row.createCell((short)0);//建立新cell
cell.setCellValue(1);//设置e799bee5baa6e79fa5e98193e58685e5aeb9335cell的整数类型的值
// Or do it on one line.
row.createCell((short)1).setCellValue(1.2);//设置cell浮点类型的值
row.createCell((short)2).setCellValue("test");//设置cell字符类型的值
row.createCell((short)3).setCellValue(true);//设置cell布尔类型的值
HSSFCellStyle cellStyle = wb.createCellStyle();//建立新的cell样式
cellStyle.setDataFormat(HSSFDataFormat.getFormat("m/d/yy h:mm"));//设置cell样式为定制的日期格式
HSSFCell dCell =row.createCell((short)4);
dCell.setCellValue(new Date());//设置cell为日期类型的值
dCell.setCellStyle(cellStyle); //设置该cell日期的显示格式
HSSFCell csCell =row.createCell((short)5);
csCell.setEncoding(HSSFCell.ENCODING_UTF_16);//设置cell编码解决中文高位字节截断
csCell.setCellValue("中文测试_Chinese Words Test");//设置中西文结合字符串
row.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_ERROR);//建立错误cell
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
}
}

共分为六部完成根据模板导出excel操作zhidao
第一步、设置excel模板路径(setSrcPath)
第二步、设置要生成excel文件路径(setDesPath)
第三步、设置模板中哪个Sheet列(setSheetName)
第四步、获取所读取excel模板的对象(getSheet)
第五步、设置数据(分为6种类型数据:setCellStrValue、setCellDateValue、 setCellDoubleValue、setCellBoolValue、setCellCalendarValue、setCellRichTextStrValue)
第六步、完成导出 (exportToNewFile)
下载PHPExcel:http:phpexcel.codeplex.com
这是个强大的Excel库,这里只演示导出Excel文件的功能,其中的大部分功能可能都用不着。
安装PHPExcel到Codeigniter:
A、解压压缩包里的Classes文件夹中的内容到application\libraries\目录下,目录结构如下e799bee5baa6e79fa5e98193e4b893e5b19e364
-- application\libraries\PHPExcel.php
-- application\libraries\PHPExcel (文件夹)
B、修改application\libraries\PHPExcel\IOFactory.php 文件
-- 将其类名从PHPExcel_IOFactory改为IOFactory,遵从CI类命名规则。
-- 将其构造函数改为public

安装完毕,写一个导出excel的控制器(Controller)
代码如下:
<?php
class Table_export extends CI_Controller {
function __construct(){parent::__construct();
// Here you should add some sort of user validation// to prevent strangers from pulling your table data}
function index($table_name){$this->load->database();$query = $this->db->query("select * from `$table_name` WHERE del= 1");// $query = mb_convert_encoding("gb2312", "UTF-8", $query);if(!$query)return false;
// Starting the PHPExcel library$this->load->library('PHPExcel');$this->load->library('PHPExcel/IOFactory');
$objPHPExcel = new PHPExcel();$objPHPExcel->getProperties()->setTitle("export")->setDescription("none");
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', iconv('gbk', 'utf-8', '中文Hello'))->setCellValue('B2', 'world!')->setCellValue('C1', 'Hello');// Field names in the first row$fields = $query->list_fields();$col = 0;foreach ($fields as $field){$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, 1, $field);$col++;}
// Fetching the table data$row = 2;foreach($query->result() as $data){$col = 0;foreach ($fields as $field){$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $data->$field);$col++;}
$row++;}
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');
//发送标题强制用户下载文件header('Content-Type: application/vnd.ms-excel');header('Content-Disposition: attachment;filename="Products_'.date('dMy').'.xls"');header('Cache-Control: max-age=0');
$objWriter->save('php://output');}
}?>假如数据库有表名为products,此时可以访问http://你的站点/table_export/index/products 导出Excel文件了

有时我们会用到网页中的表格,直接复制粘贴有时候多了就比较烦了,小编这里用一个生活中我们能遇到的情况举个例子说明吧。
工具/原料

Microsoft office
方法/步骤

小编举得这个例子是网页中关于2014年高考投档情况的一个汇总表,不过在网页中,如图,我们可以看到共计是分成了17个网页,看着就有些烦躁。

如图,我们可以直接把鼠标放到表格处,右击,选择导出到excel中即可。

如图,这就是导出的excel,一直导出。

将导出的经验进行整理,如图,整理到一个文件夹中。

然后就可以参照小编的这一篇经验将所有的excel工作薄合并成一个即可。

当然,至于弄成word版的就直接复制excel里面粘贴就好了,记得粘贴的时候在zdexcel中提前准备规划好,别学小编下图中弄的这么丑就行。

当然,小编举得这个例子中,还有个更便捷有效的法子,就是Ctrl+A,Ctrl+C,Ctrl+V,不过这个法子貌似不够高大上嘛。
本文标签:excel输出表单(1)

相关阅读

  • poi如何通过模板导出excel

  • 乔山办公网excel表格制作
  • 通过这个例子,演示以下如何用java生成excel文件:import org.apache.poi.hssf.usermodel.*;import java.io.FileOutputStream;import java.io.IOException;publicclass CreateCells{
  • excel 怎么设置单个表格中有选项选择?

  • 乔山办公网excel表格制作
  • 1、电脑打开Excel表格,可以先把选项都列好。2、然后选中单元格,点击数据页面的zhidao数据验证。3、点击数据验证后,在允许中选择序列,版来源中就直接框选刚才的选项,或者也可以
关键词不能为空
极力推荐
  • 请教如何用<em>JQuery</em>导入导出<em>excel</em&g

  • 别瞎想了,zd不能。jQuery说白了是 js ,要符合安全协议,js不能主动获得 cookie 意外的任何内容,如果不想走后台,必须在浏览器上安装一个插件,实现前版台解析,当然这个插件可以是

聚合标签

ppt怎么做_excel表格制作_office365_word文档_365办公网