- 浏览: 344967 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (169)
- spring (20)
- java (44)
- ibatis (0)
- hibernate (6)
- struts (2)
- javascript (6)
- ajax (1)
- eclipse (4)
- 其他 (10)
- database (17)
- ibatis 分页 (7)
- xml (2)
- pl/sql (6)
- sql (4)
- apache (3)
- oracle (8)
- jdom (1)
- Open ModelSphere (1)
- 线程 (2)
- 多线程 (2)
- 查找文件 (1)
- Comparator (2)
- jxl (2)
- jquery (1)
- Flex (2)
- 非技术 (1)
- mysql (2)
- zxing (1)
- jdbc (1)
- Java内存 (1)
- editplus (1)
- log4j (1)
- sqlserver (2)
- base64 (1)
- Linux (4)
- Shell (2)
- 非技术共享 (1)
- 省市 (1)
- PowerDesigner (3)
- 观察者模式 (2)
- Servlet (1)
- 单点登录 (1)
- IO (1)
- tomcat (1)
- clob (1)
- html (1)
- jsp (2)
- JNative (1)
- WebService (2)
- Highcharts (1)
- Spring Security (1)
- ztree (1)
- Mongodb (3)
- sftp (1)
- SVN (1)
- openSUSE (1)
- Ubuntu (1)
- nio (1)
- springboot (1)
- java8 (1)
最新评论
-
wajjj:
[flash=200,200][url][img][list] ...
【JAVA】读取excel内容(兼容03和07格式) -
xurichusheng:
jjhe369 写道感谢分享!但是发现一个小问题,就是第13, ...
oracle 存储过程分页查询 -
jjhe369:
感谢分享!但是发现一个小问题,就是第13,14行的V_STAR ...
oracle 存储过程分页查询 -
飞天奔月:
为什么不用 Map<String, String> ...
读取.properties的内容,并将内容放入一个Map中 -
xurichusheng:
814687491 写道测试了一下,无法换行!你可以自定义自己 ...
使用google的zxing制作二维码
1. 数据库:oracle 10g2
JDK: 1.6.0_20
jar 包:jxl-2.6.6.jar log4j.jar ojdbc14-10.2.0.4.0.jar
2. 导出的核心代码 ExcelOutput
import java.io.FileNotFoundException; import java.io.IOException; import java.io.OutputStream; import java.util.List; import jxl.Workbook; import jxl.write.WritableFont; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import org.apache.log4j.Logger; /** * @ClassName: ExcelOutput * @Description: Excel文档生成功能 * @author * @company * @date 2012-6-29 * @version V1.0 */ public final class ExcelOutput { private static Logger log = Logger.getLogger(ExcelOutput.class); // 实例 private static final ExcelOutput INSTANCE = new ExcelOutput(); private ExcelOutput() { } /** * @Title: getInstance * @Description: 获取ExcelOutput实例,使用单例 * @return ExcelOutput * @author * @date 2012-6-25 */ public static ExcelOutput getInstance() { return INSTANCE; } /** * 取得用于下载excel文件的输出流 * * @param os * 输出流,如response.getOutputStream()或FileOutputStream * @param subject * 主题,用于表示工作表的名称 * @param titles * 标题行,用于显示在表格的第一行 * @param list * 实际内容,是List集合对象. 每一值又是一个List对象,表示一行的记录,注意每个值是String都对象 * @return 输出流 */ public void createOutPutStreamForObjs(OutputStream os, String subject, String[] titles, List<Object[]> list) { log.info("start to create excel file."); WritableWorkbook wwb = null; try { // 通过模板得到一个可写的Workbook wwb = Workbook.createWorkbook(os); // 第几个工作表 int number = 0; // 一个工作表插入3000条记录 int num = 3000; while ((number + 1) * num <= list.size()) { // 生成名为subject + number的工作表,0表示这是第一页 jxl.write.WritableSheet ws = wwb.createSheet(subject + number, number); // 表格头 // 添加带有字型Formatting的对象 jxl.write.WritableFont wfTitle = new jxl.write.WritableFont( WritableFont.TAHOMA, 12, WritableFont.BOLD, false); jxl.write.WritableCellFormat wcfFTitle = new jxl.write.WritableCellFormat( wfTitle); for (int i = 0; i < titles.length; i++) { jxl.write.Label labelCFTitle = new jxl.write.Label(i, 0, titles[i], wcfFTitle); ws.addCell(labelCFTitle); } // 表格内容 jxl.write.WritableFont wf = new jxl.write.WritableFont( WritableFont.TAHOMA, 11, WritableFont.NO_BOLD, false); jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat( wf); int numI = 0; for (int i = number * num; i < (number + 1) * num; i++) { Object[] subList = (Object[]) list.get(i); for (int j = 0; j < subList.length; j++) { String text = subList[j] == null ? "" : subList[j] .toString(); jxl.write.Label labelCF = new jxl.write.Label(j, numI + 1, text, wcfF); ws.addCell(labelCF); } numI++; } number = number + 1; } if (list.size() > number * num) { jxl.write.WritableSheet ws = wwb.createSheet(subject + number, number); // 表格头 // 添加带有字型Formatting的对象 jxl.write.WritableFont wfTitle = new jxl.write.WritableFont( WritableFont.TAHOMA, 12, WritableFont.BOLD, false); jxl.write.WritableCellFormat wcfFTitle = new jxl.write.WritableCellFormat( wfTitle); for (int i = 0; i < titles.length; i++) { jxl.write.Label labelCFTitle = new jxl.write.Label(i, 0, titles[i], wcfFTitle); ws.addCell(labelCFTitle); } // 表格内容 jxl.write.WritableFont wf = new jxl.write.WritableFont( WritableFont.TAHOMA, 11, WritableFont.NO_BOLD, false); jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat( wf); int numI = 0; for (int i = number * num; i < list.size(); i++) { Object[] subList = (Object[]) list.get(i); for (int j = 0; j < subList.length; j++) { String text = subList[j] == null ? "" : subList[j] .toString(); jxl.write.Label labelCF = new jxl.write.Label(j, numI + 1, text, wcfF); ws.addCell(labelCF); } numI++; } } // 写入Exel工作表 wwb.write(); } catch (RowsExceededException e) { log.error("create excel file '" + subject + "' fail!", e); } catch (FileNotFoundException e) { log.error("create excel file '" + subject + "' fail!", e); } catch (WriteException e) { log.error("create excel file '" + subject + "' fail!", e); } catch (IOException e) { log.error("create excel file '" + subject + "' fail!", e); } catch (Exception e) { log.error("create excel file '" + subject + "' fail!", e); } finally { // 关闭Excel工作薄对象 try { if (wwb != null) { wwb.close(); } os.flush(); os.close(); } catch (WriteException e) { log.error("close WritableWorkbook fail!", e); } catch (IOException e) { log.error("close WritableWorkbook fail!", e); } catch (Exception e) { log.error("close WritableWorkbook fail!", e); } log.info("end to create excel file."); } } }
测试方法(Junit4):
@Test public void export() { Connection conn = JDBCUtil.getInstance().getConnection(); String sql = "SELECT DEPTNO, DNAME, LOC FROM DEPT"; PreparedStatement ps = null; ResultSet rs = null; try { ps = conn.prepareStatement(sql); rs = ps.executeQuery(); List<Object[]> list = new ArrayList<Object[]>(3); Object[] objs = null; while (rs.next()) { objs = new Object[] { rs.getInt("DEPTNO"), rs.getString("DNAME"), rs.getString("LOC") }; list.add(objs); } // 生成excel文件 createExcel(list); } catch (SQLException e) { log.error("SQLException", e); } catch (Exception e) { log.error("Others Exception!", e); } finally { JDBCUtil.getInstance().close(conn, ps, rs); } } /** * @Title: createExcel * @Description: 生成excel文件 * @param lsit * : 查询结果集 * @author * @date 2012-6-29 */ private void createExcel(List<Object[]> list) { // 文件名 String name = "部门信息"; // excel文件表头 String[] head = { "部门编号", "部门名称", "位置" }; File file = new File(name + ".xls"); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { log.error("create file fail!", e); } } OutputStream os = null; try { os = new FileOutputStream(file); } catch (FileNotFoundException e) { log.error("create OutputStream fail!", e); } // 生成excel文件 ExcelOutput.getInstance().createOutPutStreamForObjs(os, name, head, list); }
运行成功后,会在工程的根目录下生成 部门信息.xls
web 环境下的方法:
这里使用struts2.
查询条件 QueryParam
/** * @ClassName: QueryParam * @Description: 查询条件 * @author * @company * @date 2012-6-29 * @version V1.0 */ public class QueryParam { private Integer deptNo; private String deptName; private String location; @Override public String toString() { StringBuffer buf = new StringBuffer("QueryParam:["); buf.append("deptNo=").append(deptNo); buf.append(",deptName=").append(deptName); buf.append(",location=").append(location); buf.append("]"); return buf.toString(); } // 这里省略 getter/setter }
public void getAllDept(QueryParam params) throws Exception { StringBuffer buf = new StringBuffer(); buf.append("SELECT DEPTNO, DNAME, LOC FROM DEPT where 1=1 "); if (params.getDeptNo() != null) { buf.append(" and DEPTNO = ").append(params.getDeptNo()); } if (null != params.getDeptName() && !"".equals(params.getDeptName())) { buf.append(" and DNAME like %").append(params.getDeptName()) .append("%"); } if (null != params.getLocation() && !"".equals(params.getLocation())) { buf.append(" and LOC like %").append(params.getLocation()) .append("%"); } Connection conn = JDBCUtil.getInstance().getConnection(); PreparedStatement ps = null; ResultSet rs = null; try { ps = conn.prepareStatement(buf.toString()); rs = ps.executeQuery(); List<Object[]> list = new ArrayList<Object[]>(3); Object[] objs = null; while (rs.next()) { objs = new Object[] { rs.getInt("DEPTNO"), rs.getString("DNAME"), rs.getString("LOC") }; list.add(objs); } // 生成excel文件 createExcel(list); } catch (SQLException e) { log.error("SQLException", e); } catch (Exception e) { log.error("Others Exception!", e); } finally { JDBCUtil.getInstance().close(conn, ps, rs); } }
action 方法:
在action类中定义一个私有的属性 private QueryParam queryParam;设置其setter/getter方法
public void getExport() { log.info("start to export dept."); if (null != queryParam) { try { // 调用service层,查找要导出的数据 List<Object[]> list = getAllDept(queryParam); if (null != list && !list.isEmpty()) { log.info("export dept to excel. The data count is:" + unitList.size()); } else { log.info("export dept to excel. The data count is empty."); } HttpServletResponse response = ServletActionContext .getResponse(); OutputStream os = response.getOutputStream(); response.reset(); // 文件名 String name = "部门信息"; // excel文件表头 String[] head = { "部门编号", "部门名称", "位置" }; byte[] fileNameByte = (name + ".xls").getBytes("GBK"); // 文件名 String fileName = new String(fileNameByte, "ISO8859-1"); response.setHeader("Content-disposition", "attachment; filename=" + fileName); response.setContentType("application/msexcel"); // 生成excel文件 ExcelOutput.getInstance().createOutPutStreamForObjs(os, name, head, list); } catch (Exception e) { log.error("export dept excel file fail!", e); } log.info("end to export dept."); } }
发表评论
-
mysql树
2019-09-26 08:39 413mysql树 -
【JAVA】组织树
2019-09-04 10:17 1047JDK 版本:jdk 1.8 及以上。 1. ... -
多线程多批量插入大数据
2018-10-31 11:19 6407参考 https://blog.csdn.ne ... -
java 7 nio逐行读取文件内容
2015-12-26 23:33 5456nio逐行读取文件内容,使用 java 7. 首先,获取 ... -
java 6 IO读取txt文件内容
2015-12-26 23:24 876逐行读取。 首先获取文件的编码格式; 读取文件内容。 ... -
【JAVA】读取excel内容(兼容03和07格式)
2015-12-21 13:51 2180jar 包: poi-3.13.j ... -
一行代码去除List中的重复数据
2015-12-02 10:52 16701. 核心代码: List<String> ... -
将List中的对象中的字段的重复值删除
2015-12-01 11:10 2704如下面的对象 Subs,如果其属性 startSt 和 e ... -
jdk 官方下载地址
2015-11-06 10:00 1861http://www.oracle.com/techn ... -
jsp页面显示二进制图片
2014-11-05 15:58 40801. DAO层 import java.sql.C ... -
java中使用JNative调用dll方法
2014-03-03 16:02 5328使用JNative调用dll方法, dll 文件名 ... -
使用jxl,将数据写入excel中
2013-05-08 14:19 978转自 jxl 生成excel,从服务器导出exc ... -
Vector排序
2013-05-08 10:17 15351. Vector 默认按元素的添加顺序排序 im ... -
使用观察者模式监听Map值的改变
2013-05-02 16:46 6195观察者(Observer)角色:为所有的具体观察者定 ... -
【转】一个比较快的Base64 编码/解码 算法
2013-03-28 17:50 1724转自: 中国开源社区 最快的 Base64 编码/解 ... -
jdbc 数据库连接池
2012-12-04 16:09 1512注:有些java类是JDK ... -
使用Comparator做对象的排序
2012-06-15 18:15 1333之前在面试的时候,人家老是问怎么对对象进行排序。 虽然 ... -
【转】 模拟银行业务调度系统
2012-06-13 15:39 1202转自:CSDN,itm_hadf ... -
HttpClient 代理实例(Get方式) 线程
2012-01-10 14:23 1550使用的jar包: commons-codec-1.4.jar ... -
httpclient资料(自用)
2012-01-10 07:07 1074httpclient资料
相关推荐
在 PowerBuilder 中,开发者常常需要将 EXCEL 数据导入到应用程序中,以便进行数据分析、处理和展示。在本文中,我们将探讨如何使用 PowerBuilder 将 EXCEL 数据导入到应用程序中。 OLE 对象 在 PowerBuilder 中,...
下面将详细介绍解决Navicat for MySQL导入Excel中文乱码问题的有效步骤: 1. **调整连接属性中的编码设置** - 在Navicat for MySQL中打开当前连接的名称,然后点击鼠标右键选择“连接属性”。 - 在弹出的窗口中...
此外,注意数据类型匹配,Excel中的数据可能需要转换为适合数据库字段的数据类型。 总之,C#结合NPOI或其他库,配合SQL Server,提供了强大的数据处理能力,可以从Excel文件中提取数据并将其存储到数据库中,这对...
在Visual Studio(VS)开发环境中,使用代码导入Excel表中的数据是一项常见的任务,尤其是在数据分析、报表生成或数据处理的应用程序中。以下是一些关键的知识点,涵盖了如何从数据库导出数据到Excel,以及如何将...
标题提到的“vb批量将excel数据导入access以及批量将access数据库中的数据导入excel源代码”是解决这类问题的一种有效方案。下面将详细介绍这两个过程的关键知识点。 1. Excel数据导入Access: - **数据连接**:...
将 Excel 中的数据导入 Matlab 是一种常见的数据处理需求。以下是 Matlab 导入 Excel 数据的教程。 1. 使用 xlsread 命令导入 Excel 数据 在 Matlab 中,可以使用 xlsread 命令将 Excel 中的数据读取到 Matlab 中...
本文详细介绍了如何在 Informatica 中导入 Excel 文件作为源文件的步骤,从准备 Excel 电子表格到定义范围和指定数据类型,最后将 Excel 文件导入 Informatica。通过本文,我们可以轻松地将 Excel 文件导入 ...
3. 执行导出:通过数据库管理工具或编程接口执行导出命令,将查询结果保存为文件。 4. 在Excel中打开:在导出完成后,可以直接在Excel中打开生成的文件,进行进一步的数据分析或处理。 对于压缩包中的“导入与导出...
而将GridView中的数据导入Excel,能够方便用户对数据进行更复杂的处理、分析或分享。本实例提供了一个有效的方法,实现了从GridView到Excel的转换,并且在导入过程中保留了GridView的格式,使得Excel文件看起来与原...
例如,Excel中的"姓名"列可能对应数据库表的"name"字段。 4. **数据验证**: 在导入数据前,Jeecg会进行数据验证,检查数据的合法性,如非空校验、数据类型校验、唯一性校验等,确保导入的数据符合业务规则。 5. ...
Developer 导入 Excel 数据是指使用 PLSQL Developer 工具将 Excel 文件中的数据导入到 Oracle 数据库中。这种操作可以帮助开发者快速地将 Excel 文件中的数据导入到数据库中,以便进行后续的数据处理和分析。 ...
例如,使用Windows命令行工具`dir /b`可以列出文件夹中的所有文件名,然后通过管道(|)传递给`clip`命令,将结果复制到剪贴板,最后在Excel中粘贴。 - 利用VBA宏:Excel的Visual Basic for Applications (VBA) ...
以上就是C#中导入Excel文件到ListView和导出ListView到Excel文件的基本步骤和技术要点。这个过程涉及到文件操作、数据处理和UI控件的使用,是C#开发者必备的技能之一。通过熟练掌握这些技巧,你将能够更高效地进行...
二是在线导入Excel中的数据到填报表。 第一部分,添加导入Excel按钮,涉及到FineReport的界面设置。首先,需要打开已经准备好的填报模板,在模板的Web属性设置中找到填报页面设置,选择为该模板单独设置,勾选使用...
- `Fill`: 将查询结果填充到`dataset`中,指定表名为`"Rwb"`。 #### 4. 显示数据数量 使用`MessageBox.Show`显示已导入的数据行数: ```vb MessageBox.Show(dataset.Tables(0).Rows.Count) ``` #### 5. 连接SQL ...
5. 检查结果:导入完成后,务必检查导入的文章是否正确无误,包括内容、分类、发布时间等是否与Excel中的数据一致。 此插件支持自定义字段,这意味着你可以根据自己的网站需求添加额外的字段,比如“关键词”、...
本教程将详细讲解如何使用PLSQL Developer导入Excel表格数据。 首先,让我们了解一下PLSQL Developer中的"ODBC导入器"功能。ODBC(Open Database Connectivity)是一种标准的数据库访问接口,允许应用程序通过ODBC...
在Java编程中,多线程导入Excel数据是一项常见的任务,特别是在大数据处理和高并发场景下。这个场景通常涉及到性能优化和资源管理,以确保系统稳定性和数据一致性。下面将详细阐述多线程导入Excel数据的核心知识点。...
本例子将介绍如何在JSP中利用POI库来实现Excel数据的导入功能。 首先,我们需要在项目中引入Apache POI的相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.poi ...
本文将详细介绍如何使用Jxls实现数据导入Excel的实例。 Jxls库的核心功能在于提供了一种声明式的方式来处理Excel模板,通过使用Apache POI库来操作Excel文件。它的主要优点是将数据和样式分离,让开发者可以专注于...