- 浏览: 330756 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lvyuan1234:
lvyuan1234 写道lvyuan1234 写道lvyua ...
java解析mp3工具 -
lvyuan1234:
lvyuan1234 写道lvyuan1234 写道怎么一直报 ...
java解析mp3工具 -
lvyuan1234:
lvyuan1234 写道怎么一直报找不到文件?找到原因了,e ...
java解析mp3工具 -
lvyuan1234:
怎么一直报找不到文件?
java解析mp3工具 -
Cy0941:
...
org.apache.catalina.connector.RequestFacade cannot be cast to org.springframewor
需要jxl.jar,dom4j.jar
JXLUtil.java
package ssh.util; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; import jxl.Sheet; import jxl.Workbook; import jxl.format.Alignment; import jxl.format.Border; import jxl.format.BorderLineStyle; import jxl.format.Colour; import jxl.format.UnderlineStyle; import jxl.format.VerticalAlignment; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; /** * 导入,导出excel * @author gary * @version 1.0 * */ public class JXLUtil { private JXLReader reader; public JXLUtil(){ reader = new JXLReader(); } /** * 返回目标数据库列名key * @param target * @return */ public String getTargetKey(String target){ return reader.getTargetValue(target, "key"); } /** * 返回目标标题 * @param target * @return */ public String getTargetTitle(String target){ return reader.getTargetValue(target, "title"); } /** * 返回目标文件名 * @param target * @return */ public String getTargetFileName(String target){ return reader.getTargetValue(target, "fileName"); } /** * 导出EXCEL * * jxl.xml配置: * <jxl> * <目标> * <title>标题</title> * <key>数据库中的列名</key> * <fileName>文件名</fileName> * </目标> * </jxl> * example: * <jxl> * <user> * <title>ID,用户名,登陆密码,真实名字</title> * <key>userId,userName,password,realName</key> * <fileName>userInfo</fileName> * </user> * </jxl> * * jxl.properties配置: * 标题: jxl.目标.title * 数据库表中的列名: jxl.目标.key * 文件名: jxl.目标.fileName * example: * jxl.user.title=ID,\u7528\u6237\u540D,\u767B\u9646\u5BC6\u7801,\u771F\u5B9E\u540D\u5B57 * jxl.user.key=userId,userName,password,realName * jxl.user.fileName=userInfo * * @param list * @param target * @param response */ public void exportExcel(List<Map<String,?>> list, String target, HttpServletResponse response){ try{ //设置table列名 String excelTitle = getTargetTitle(target); String[] excelTitleArray = excelTitle.split(","); //文件名 String fileName = getTargetFileName(target) + "_" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()); //取得key String excelKey = getTargetKey(target); String[] excelKeyArray = excelKey.split(","); // 取得输出流 OutputStream os = response.getOutputStream(); // 清空输出流 response.reset(); // 设定输出文件头,不用GBK会乱码 response.setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("GBK"),"ISO-8859-1") + ".xls"); // 定义输出类型 response.setContentType("application/msexcel;charset=utf-8"); // 建立excel文件 WritableWorkbook wwb; wwb = Workbook.createWorkbook(os); // 创建一个工作表 WritableSheet ws = wwb.createSheet("Sheet1", 10); // 设置单元格的文字格式 //WritableFont wf = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false, // UnderlineStyle.NO_UNDERLINE,Colour.BLUE); WritableFont wf = new WritableFont(WritableFont.ARIAL,11,WritableFont.BOLD,false, UnderlineStyle.NO_UNDERLINE,Colour.BLUE); WritableCellFormat wcf = new WritableCellFormat(wf); // 对齐方式 wcf.setAlignment(Alignment.CENTRE); wcf.setVerticalAlignment(VerticalAlignment.CENTRE); // 边框 wcf.setBorder(Border.ALL, BorderLineStyle.THIN); // 背景色 wcf.setBackground(Colour.GRAY_25); ws.setRowView(0, 500); //设置列头名 for (int j=0;j<excelKeyArray.length;j++) { ws.addCell(new Label(j, 0, excelTitleArray[j], wcf)); } //设置内容 wcf = new WritableCellFormat(); for (int i = 0; i < list.size(); i++) { Map<String, ?> mapList = (Map<String, ?>)list.get(i); for (int j=0;j<excelKeyArray.length;j++) { ws.addCell(new Label(j, i+1, (mapList.get(excelKeyArray[j])+"").toString(), wcf)); } } wwb.write(); wwb.close(); } catch (IOException e){ } catch (RowsExceededException e){ } catch (WriteException e){ } } /** * 从excel文件读取数据,返回list * @param file * @param target * @return */ public List<Map<String, ?>> getImportData(File file, String target){ List<Map<String, ?>> data = new ArrayList<Map<String, ?>>(); try { Workbook book = Workbook.getWorkbook(file); // 获得第一个sheet,默认有三个 Sheet sheet = book.getSheet(0); // 一共有多少行多少列数据 int rows = sheet.getRows(); int columns = sheet.getColumns(); boolean hasText = false; for (int i = 0; i < rows; i++) { // 过滤掉没有文本内容的行 for (int j = 0; j < columns; j++) if (sheet.getCell(j, i).getContents() != "") { hasText = true; break; } if (hasText) { Map<String, String> temp = new HashMap<String, String>(); //取得key String excelKey = getTargetKey(target); String[] excelKeyArray = excelKey.split(","); for(int k = 0 ; k < excelKeyArray.length ; k++){ temp.put(excelKeyArray[k], sheet.getCell(k, i).getContents()); } // temp.put(Integer.valueOf(sheet.getCell(0, i).getContents())); data.add(temp); } } book.close(); } catch (Exception e) { e.printStackTrace(); } return data; } //附:jdbc批量导入例子 // //添加用户信息 // private static final String SQL_ADD_USER = // "insert into users(userId,userName,password,realName) values (?,?,?,?)"; // // /** // * 从Excel文件导入到数据库user表 // */ // public int[] importUser(final File file) throws Exception { // // BatchPreparedStatementSetter pss = new BatchPreparedStatementSetter() { // // public void setValues(PreparedStatement ps, int i) throws SQLException { // Map row = (Map)(jxlUtil.getImportData(file, "user").get(i)); // // //取得key // String excelKey =jxlUtil.getTargetKey("user"); // String[] excelKeyArray = excelKey.split(","); // // for(int k = 0 ; k < excelKeyArray.length ; k++){ // ps.setString(k+1, (String)row.get(excelKeyArray[k])); // } // // } // // public int getBatchSize() { // return jxlUtil.getImportData(file, "user").size(); // } // }; // return jt.batchUpdate(SQL_ADD_USER, pss); // } }
发表评论
-
解决activiti生成的PNG乱码
2012-02-01 11:26 3209使用的版本为activiti5.8 修改org.act ... -
FastDFS的安装,配置与使用(java)
2011-08-14 15:40 26279先引用一下FastDFS的介绍: FastDFS is ... -
tomcat启动报错Socket accept failed
2011-08-11 21:11 4888tomcat启动时,报错如下: 2011-8-11 2 ... -
URL工具类
2011-05-11 23:21 2779package ssh.util; import jav ... -
HTML工具类
2011-05-11 23:19 1345package ssh.util; import ... -
利用Spring AOP记录Hibernate统计信息
2011-03-19 08:41 1683在Hibernate的属性里设置hibernate.gener ... -
搭建liferay-portal6.0.6
2011-03-09 19:48 2872首先在http://sourceforge.net/proje ... -
Quartz在Spring中的使用
2011-03-08 17:43 2120Quartz项目主页http://www.quartz-sch ... -
使用httpclient模拟表单提交
2011-01-31 22:19 15418文件类型使用FileBody,字符串类型使用StringBod ... -
懒人专用,方便调试:反射生成hibernate映射类的toString方法
2011-01-04 21:28 1537...不知道有没有和我一样懒的,表的列太多,一个一个弄太麻烦, ... -
用junit测试SSH项目以及常见错误解决方法
2011-01-01 21:42 3289public static BeanFactory f ... -
log4j配置详解,附带hibernate
2010-12-31 18:53 9161log4j.properties # For JBoss: ... -
导入导出Excel工具,支持XML和properties配置(二)
2010-12-25 08:49 2323XMLUtil.java package ssh.ut ... -
java读取rss
2010-12-24 13:51 5052用到的jar包为jdom.jar, rome-1.0.jar( ... -
log4j:ERROR LogMananger.repositorySelector was null
2010-12-23 15:32 1462排除log4j版本问题后,仍出现此问题,解决方法:设置org. ... -
log4j.properties配置文件模板
2010-12-23 10:36 1505# For JBoss: Avoid to setup ...
相关推荐
private string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\工作表.xls;Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
该项目提供了一组 Kettle 转换(Pentaho 数据集成 ETL 工具),允许将 FHIR 资源(XML、JSON)从 FHIR 服务器导出/导入到 Excel/数据库,反之亦然。 安装 从下载 Kettle 将 fhir-etl/etc/extlib 目录复制到您的 %...
强大的Excel导出导入工具封装,支持大数据量,注解定义,简单配置即可实现。 Job作业调度,界面化在线管理,可新增,编辑、删除、暂停、恢复、运行一次等操作 在线查询在线人员,强踢在线账号。 代码生成工具操作简化...
c#+多年积累的类库 可直接运行:Chart图形,Cookie&Session&CacheCSV,文件转换,DEncrypt,FTP,JS,JSON,PDF,Properties,XML,导入导出Excel,视频转换,日历,页面辅助类,邮件等
******* 导出到excel EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' ...用openrowset导入,除ACCESS及EXCEL外,均不支持非本机数据导入
自动切换故障节点支持多节点下并行计算支持无注册中心单机模式支持自定义重试策略支持配置持久化(启动加载、变更保存)支持控制台(jeesuite-admin)任务监控、开停、动态修改调度时间策略、手动触发执行jeesuite-...
4. 修改配置文件:根据实际情况修改项目的配置文件,如application.properties、logback.xml等。 5. 启动项目:在项目根目录下执行mvn spring-boot:run命令启动项目。 6. 访问系统:在浏览器中输入服务器IP地址和...
4. 修改配置文件:根据实际情况修改项目的配置文件,如application.properties、logback.xml等。 5. 启动项目:在项目根目录下执行mvn spring-boot:run命令启动项目。 6. 访问系统:在浏览器中输入服务器IP地址和...
4. 修改配置文件:根据实际情况修改项目的配置文件,如application.properties、logback.xml等。 5. 启动项目:在项目根目录下执行mvn spring-boot:run命令启动项目。 6. 访问系统:在浏览器中输入服务器IP地址和...
4. 修改配置文件:根据实际情况修改项目的配置文件,如application.properties、logback.xml等。 5. 启动项目:在项目根目录下执行mvn spring-boot:run命令启动项目。 6. 访问系统:在浏览器中输入服务器IP地址和...
4. 修改配置文件:根据实际情况修改项目的配置文件,如application.properties、logback.xml等。 5. 启动项目:在项目根目录下执行mvn spring-boot:run命令启动项目。 6. 访问系统:在浏览器中输入服务器IP地址和...
4. 修改配置文件:根据实际情况修改项目的配置文件,如application.properties、logback.xml等。 5. 启动项目:在项目根目录下执行mvn spring-boot:run命令启动项目。 6. 访问系统:在浏览器中输入服务器IP地址和...
Coalesys PanelBar + R.a.d Treeview +Xml 构建的Asp.net 菜单和权限管理模块 突破屏蔽限制,自己的网站使劲弹新IE窗口 对页面SCROLLING的CSS不能生效原因 .Net 中IE使用WinForm控件的使用心得。 动态加载用户控件的...