- 浏览: 61960 次
- 性别:
- 来自: 北京
最新评论
-
lisgking:
但是禁用的元素就能不能传到后台了
jQuery让输入框以灰色显示,里面的值不可修改 -
sxlkk:
判断两个字符串不相等
if(!str1.equals(s ...
代码判断连个字符串是否相等 -
sxlkk:
SimpleDateFormat sdf = new Si ...
由日期得出类似“20100520”的字符串
例子1-----》利用jxl包来完成excel导入导出 JXL包提供了JAVA环境下操作EXCEL文件的方法,可对EXCEL文件进行读写操作。总体而言这个包的使用非常简单,因工作需要对它进行了简单的应用,现写一下个人总结。 JXL包似乎对某些版本的EXCEL文件不太兼容,网站上说它支持EXCEL95-2000。不知道是不是这个原因,在读取EXCEL XP文件时(文件中使用了“数据有效性”等格式),会发出一些警告信息,虽然不影响使用,但终究不太好看。所以下面这个例子是从一个EXCEL文件中读取数据,并将数据写入另一文件中,清除掉文件中使用的所有格式。在清除掉文件中使用的格式之后,再读取这个文件就一切正常了。 import jxl.*; import jxl.write.*;i mport java.io.*; public class CleanExcel { public static void clean(String inFile, String outFile){ //首先需要声明输入输出流与Workbook,Workbook对应Excel文件 InputStream is = null; Workbook inWb = null; OutputStream os = null; WritableWorkbook outWb = null; try{ //实例化输入输出流与Workbook is = new FileInputStream(inFile); //Workbook无法通过new关键字进行实例化,必须调用Workbook.getWorkbook(File)静态方法 inWb = Workbook.getWorkbook(is); os = new FileOutputStream(outFile); outWb = Workbook.createWorkbook(os); //下面这一句是选择原文件的工作表,Sheet对应的是Excel中的Sheet Sheet inSheet = inWb.getSheet("Sheet1"); //WritableSheet为要创建的文件中的工作表 WritableSheet outSheet = outWb.createSheet("Sheet1", 0); //设置循环标志 boolean flag = true; //循环条件 int i = 0; while(flag){ //Cell对应一个单元格,getCell方法第一个参数对应列,第二个参数对应行。 //注意:行和列的开始坐标均为0,与JAVA中的数组一样 Cell tmp = inSheet.getCell(0, i); //取得每行第一列单元格中的数据。不管单元格中的数据在EXCEL中为何种类型,读取之后都将成为String类型 String c = tmp.getContents().trim(); //为处理方面,EXCEL文件中最后一行的第一个单元格设置了一个break标志,读到这一行时将退出循环 if(c.equals("break")){ flag = false; break; } //我处理的EXCEL表格为8列 for(int j = 0; j < 8; j++){ //取得源单元格 Cell inCell = inSheet.getCell(j, i); //获取数据 String content = inCell.getContents().trim(); //创建新单元格,并用数据填充 Label labelCF=new Label(j, i, content); //将新单元格加入到新工作表中 outSheet.addCell(labelCF); } i++; } //写入文件 outWb.write(); //关闭流 outWb.close(); os.close(); }catch(Exception e){ e.printStackTrace(); } } //测试 public static void main(String[] args){ try { String in = "old.xls"; String out = "new.xls"; CleanExcel.clean(in, out); } catch (Exception e) { e.printStackTrace(); } } } ----------------------------------------------------------------------- 例子2-----》利用jxl包来完成excel导入导出 import java.io.File; import java.io.IOException; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; public class ExcelTest { public static void main(String[] adf) { try { Workbook workbook = Workbook .getWorkbook(new File( "d:\\myfile.xls")); Sheet sheet = workbook.getSheet(0); String[] tempValue = new String[sheet.getColumns()]; for (int i = 0; i < sheet.getRows(); i++) { for (int j = 0; j < sheet.getColumns(); j++) { String value = sheet.getCell(j, i).getContents(); if (value.equals( " ")) value = tempValue[j]; System.out.print(value + "\t\t\t\t\t\t\t "); tempValue[j] = value; } System.out.println( " "); } } catch (BiffException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } ----------------------------------------------------------------------- 例子3-----》利用apache包来完成excel导入导出 import java.io.FileInputStream; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class POITest { private static Connection conn = null; private static Statement stmt = null; private static boolean connectDB2() { String url = ""; String username = "username"; String password = "password"; //加载驱动程序以连接数据库 try { //添加类库驱动包db2jcc.jar和db2jcc_license_cu.jar Class.forName("com.ibm.db2.jcc.DB2Driver"); url = "jdbc:db2://192.168.0.1:50000/dbname"; //添加类库驱动包db2java.jar //Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance(); //url = "jdbc:db2:njtcdata"; conn = DriverManager.getConnection(url, username, password); stmt = conn.createStatement(); } //捕获加载驱动程序异常 catch (ClassNotFoundException cnfex) { System.err.println("装载JDBC驱动程序失败。"); cnfex.printStackTrace(); return false; } //捕获连接数据库异常 catch (SQLException sqlex) { System.err.println("无法连接数据库"); sqlex.printStackTrace(); //System.exit(1); // terminate program return false; } return true; } private static boolean readExcelToDB2() { POIFSFileSystem fs = null; HSSFWorkbook wb = null; try { fs = new POIFSFileSystem(new FileInputStream("c:\\test.xls")); wb = new HSSFWorkbook(fs); } catch (IOException e) { e.printStackTrace(); return false; } HSSFSheet sheet = wb.getSheetAt(0); HSSFRow row = null; HSSFCell cell = null; String name = ""; int id = 0; int rowNum, cellNum; int i; rowNum = sheet.getLastRowNum(); for (i = 0; i <= rowNum; i++) { row = sheet.getRow(i); //cellNum = row.getLastCellNum(); cell = row.getCell((short) 0); name = cell.getStringCellValue(); cell = row.getCell((short) 1); id = (int) cell.getNumericCellValue(); String sql = "insert into TEST(ID, NAME) values(" + id + ",'" + name + "')"; try { stmt.executeUpdate(sql); } catch (SQLException e1) { e1.printStackTrace(); return false; } } return true; } public static void main(String[] args) { if (connectDB2()==true){ if (readExcelToDB2()==true) System.out.println("数据导入成功"); else System.out.println("数据导入失败"); } else{ System.out.println("数据库连接失败"); } } } ----------------------------------------------------------------------- 例子4-----》文本文件导入例子 1、将数据按一定规律录入到一个文本文件,每一行代表一条记录。 下面是数据库建表SQL: CREATE TABLE t_FltPsgInfo -- 航班乘客信息 ( FltNum VARCHAR(10), -- 航班号 FltLine VARCHAR(30), -- 航线 FltDate VARCHAR(10), -- 日期 PsgName VARCHAR(30), -- 姓名 PsgType VARCHAR(30), -- 乘客类型,数字表示,目前是1-13 PsgSex VARCHAR(1), -- 0 男 1 女 PsgCab VARCHAR(1), -- 几等舱, F/Y 舱位按字母顺序排列 PsgSeatNo VARCHAR(5),-- 座位号 2A,22F,根据这个得到一排有多少个座位,共有多少排座位信息 PsgInfo VARCHAR(2048) -- 详细信息,可能很长 ) 我们将向表t_FltPsgInfo中插入1000条记录。 新建一个文本文件,每一行代表一条记录,如: HU7804,广州-北京,2007-07-18,谢丽珍,3,1,C,3A,服务保障信息:未用餐随行人员… 其中以“,”作为字段的分隔标志,我们在解析这个文本文件时将根据“,”来拆分字段值。 按照上面的格式,将要插入的数据输入到文本文件中,注意,是每一行代表一条记录,或者你已有从数据库导出的文本文件,那你就只需找到文件的规律,稍作调整就行了。 2、编写Java源码 1》数据库操作类InsertDB.java package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Ins ertDB { private static final String user = "sa"; private static final String pwd = "sa"; private static final String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hhfly"; private static final String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; public static Connection getCon() { Connection con = null; try { Class.forName(driver).newInstance(); con = DriverManager.getConnection(url, user, pwd); if (con != null) { System.out.println("你已连接到数据库:" +con.getCatalog()); } } catch (Exception e) { System.out.println("连接数据库失败!"); e.printStackTrace(); } return con; } public boolean insertDB(String FltNum, String FltLine, String FltDate, String PsgName, String PsgType, String PsgSex, String PsgCab,String PsgSeatNo, String PsgInfo) { Connection con = null; Statement stm = null; boolean flag = false; String sql = "insert into t_FltPsgInfo values('" + FltNum + "','" + FltLine + "','" + FltDate + "','" + PsgName + "','" + PsgType + "','" + PsgSex + "','" + PsgCab + "','" + PsgSeatNo + "','"+ PsgInfo + "')"; try { con = getCon(); stm = con.createStatement(); int i = stm.executeUpdate(sql); if (i > 0) { flag = true; System.out.println(flag + "插入数据成功!"); } } catch (Exception e) { flag = false; e.printStackTrace(); } finally { close(null, stm, con); } return flag; } //关闭相关连接 public void close(ResultSet rs, Statement stm, Connection con) { if (rs != null) try { rs.close(); } catch (Exception e) { ze=3> e.printStackTrace(); } if (stm != null) try { stm.close(); } catch (Exception e) { e.printStackTrace(); } if (con != null) try { con.close(); } catch (Exception e) { e.printStackTrace(); } } } 2》数据采集类DataGather.java package test; import java.io.RandomAccessFile; import java.io.UnsupportedEncodingException; public class DataGather { private static final String path = "src/resource/test"; public static final String openFileStyle = "r"; public static final String fieldLimitChar = ","; public static final int fieldAllCount = 9; private int count; private String FltNum; private String FltLine; private String FltDate; private String PsgName; private String PsgType; private String PsgSex; private String PsgCab; private String PsgSeatNo; private String PsgInfo; /* * 功能:解析文本文件 */ public void loadFile() { try { RandomAccessFile raf = new RandomAccessFile(path,openFileStyle); String line_record = raf.readLine(); while (line_record != null) { // 解析每一条记录 parseRecord(line_record); line_record = raf.readLine(); } System.out.println("共有合法的记录" + count + "条"); } catch (Exception e) { e.printStackTrace(); } } /** 功能:具体解析每一条记录,这里可以增加很多对记录的解析判断条件,如是否为字母、 * 数字、email等。 e=3> */ private void parseRecord(String line_record) throws Exception { //拆分记录 String[] fields = line_record.split(fieldLimitChar); if (fields.length == fieldAllCount) { FltNum = tranStr(fields[0]); FltLine = tranStr(fields[1]); FltDate = tranStr(fields[2]); PsgName = tranStr(fields[3]); PsgType = tranStr(fields[4]); PsgSex = tranStr(fields[5]); PsgCab = tranStr(fields[6]); PsgSeatNo = tranStr(fields[7]); PsgInfo = tranStr(fields[8]); System.out.println(FltNum + " " + FltLine + " " + FltDate + " " + PsgName + " " + PsgType + " " + PsgSex + " " + PsgCab + " " + PsgSeatNo + " " + PsgInfo); InsertDB db = new InsertDB(); db.insertDB(FltNum, FltLine, FltDate, PsgName, PsgType, PsgSex, PsgCab, PsgSeatNo, PsgInfo); count++; } } private String tranStr(String oldstr) { String newstr = ""; try { newstr = new String(oldstr.getBytes("ISO-8859-1"), "GBK"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return newstr; } } 3》测试类Test.java package test; public class Test { public static void main(String[] args) { try { DataGather gather = new DataGather (); gather.loadFile(); } catch (Exception e) { e.printStackTrace(); } } }
发表评论
-
两张表的一个修改
2011-07-12 16:36 709有两张表a和b,如下所示: <!--StartFrag ... -
子页面取得父页面全局变量的值
2011-04-19 09:02 1142var treeUrl = window.opener. ... -
onchange与onpropertychange的联系与区别
2010-11-22 08:52 850当一个HTML元素的属性改变的时候,都能通过onpr ... -
关于iframe的高度自适应问题
2010-07-07 09:57 960/* *比如有两个页面a.html 和b.html * ... -
用sql获得序列
2010-07-05 17:41 1060/* * 用sql获得序列,并取得新的id */ Q ... -
CSS实现页面文字不换行,自动换行,强制换行
2010-07-02 11:20 1120强制不换行 div{ whit ... -
jQuery的克隆功能(粘贴)一例
2010-06-12 11:10 2567jQuery("#copy").click ... -
把jsp页面上的列表导出到Excel,并加打印功能
2010-06-12 10:49 4906//将jsp页面上的列表导出到Excel //首先来看第一个 ... -
Hibernate中对增删改查的小结
2010-06-06 14:42 964Hibernate中对增删改查的小结 ... -
清除前,有弹出框提示是否要清除
2010-06-05 16:17 988// 重置功能 function resetValue() ... -
由日期得出类似“20100520”的字符串
2010-05-20 21:53 794package com.basic.action; /** ... -
验证一个数据是否存在于一个集合中
2010-05-11 17:12 1152//例如有的时候在写项目的时候,我填写一个数据 要判断这个数 ... -
关于SOAOFFICE中间件
2010-04-29 20:07 3275简介 SOAOffice 中间 ... -
java Excel导入导出
2010-04-29 19:30 898搭建环境 将下载后的文件解包,得到jxl.jar,放入cl ... -
jQuery判断输入的数是否是正整数?
2010-04-26 22:58 9331//判断输入的一个数是不是正整数 jQuery(" ... -
代码判断连个字符串是否相等
2010-04-23 14:26 1679String str1 = "abc"; ... -
jstl中的fmt标签
2010-04-23 10:53 978所有标签: Tags ... -
C标签汇总
2010-04-20 21:13 1660JSTL的核心标签库主要包括:表达式操作、流程控制、迭代操作和 ... -
jQuery让输入框以灰色显示,里面的值不可修改
2010-04-20 14:28 6705<html> <head> ... -
MyEclipse 8.0 GA 下载
2010-04-06 11:33 1321MyEclipse 8.0 GA修复了很多已知的bug,在稳定 ...
相关推荐
改资源是用Java语言和jxl插件开发的一款对Excel进行读写操作的工具类,可读取指定列的Excel数据到程序中,也可以将DB查询的结果集写入到Excel文档中,导出的单元格样式可以设置,含开发包
web中使用POI导入导出EXCEL文件的例子 struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet....
导出Excel是指将其他数据源(如数据库、网页、文本文件等)中的数据以Excel的格式进行输出。这种技术可以帮助我们快速、准确地将大量数据导入到Excel中进行进一步处理和分析。 接下来,我将分享导出Excel技术的优势...
在ASP.NET Core 2.0 Razor页面中导入和导出Excel NPOI是一个免费工具,支持xls,xlsx和docx扩展。 该项目是上POI Java项目的.NET版本。 POI是一个开源项目,可以帮助您读取/写入XLS,DOC,PPT文件。 它涵盖了Excel...
一款java swing界面导出svn日志的工具,采用svnkit开发,较早期版本添加支持历史svn url备份,添加按提交人过滤,添加导出文件的功能,详情见rar包中的readme文本文档
程序功能:选择含有数据的Excel文件,导出对于的SQL插入语句文本。操作说明在其中。
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板EasyPoi的主要特点1.设计精巧,使用简单2.接口丰富,...
1,读取项目中的所有strings.xml文件并导出为excel得到excel1。 2,可以将同样结构的excel2中的内容同步到excel1。 3,将所有excel1中的内容以自行配置(StringsToExcel.java)的文件夹(如"values-ko-rKR", "values-ja...
文件、xml 文件、vCard 文件或其他自定义格式文件,但不能是 Excel 文件)。不 使用数据库。 2. 通讯录中每个项目包括: ( 1)基本信息:姓名、手机号码、电子邮箱、生日、所属组、备注、像片。 ( 2)...
5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7、用户管理和部门管理。 8、权限管理。不仅可管理各个功能模块的权限,也可以管理功能模块里的页面按钮权限。 9、报表统计。也可以嵌入其他...
5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7、用户管理和部门管理。 8、权限管理。不仅可管理各个功能模块的权限,也可以管理功能模块里的页面按钮权限。 9、报表统计。也可以嵌入其他...
试题管理:支持excel模板导入试题、支持使用富文本编辑试题及插入数学公式,同时还支持上传试题教学视频 试卷管理:支持将试卷导出成word文档、html页面进行打印、支持富文本图片导出到word 试卷批改功能:...
3.支持通讯录以Excel文件格式导入导出操作。 4.界面支持全键盘操作,即不用鼠标也能完成该系统的所有功能。 5.查询统计功能,能够按照籍贯、专业等条件统计分析,并且以图表的方式展现。 6.界面及相应功能可以...
(2)配置生成代码的固定文件路径,这个配置中的文件将原样拷贝到最终生成的代码中,主要适用于非文本文件如*.jpg *.jar等文件。 (3)配置引用jar路径,这个jar路径的配置是需要加载的class需要引用的jar. (4)...
5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7、用户管理和部门管理。 8、权限管理。不仅可管理各个功能模块的权限,也可以管理功能模块里的页面按钮权限。 9、报表统计。也可以嵌入其他...
该程序是一个用的Java写的Excel的生成工具,基于模板操作,简单,快捷,易上手。1.2特性数据组装方式大有不同和网上部分开源软件的区别是,这个程序是基于excel模板驱动的,需要在模版里填写变量名,而不必在程序中...
2、后台:Struts2、动态代理、Mybatis框架、log4J日志框架、jstl 、jstl自定义分页标签、代码机器人、Dwr、POI(实现Excel文件的导入导出)等 3、数据库:Mysql 4、服务器:Tomcat 项目中涉及的功能: 1、项目以及...