- 浏览: 161034 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
sunjia44:
很不错的方法
JTable设置单元格不可编辑 -
atian25:
主要是html dom生成的太多了.4.x版本中grid得到了 ...
ExtJS中GridPanel一次性加载500条以上数据(不分页),性能超级差,有时导致浏览器卡死! -
aspnetdb:
遇到过同样的情况,纠结中。grid显示不只和行后关系和列的多少 ...
ExtJS中GridPanel一次性加载500条以上数据(不分页),性能超级差,有时导致浏览器卡死! -
beyondsphinx:
我用TABLE一次加载几百行浏览器也卡死啊,客户端电脑,浏览器 ...
ExtJS中GridPanel一次性加载500条以上数据(不分页),性能超级差,有时导致浏览器卡死! -
共产主义:
我也遇到这个问题。用buffergrid加载的时候,数据量一多 ...
ExtJS中GridPanel一次性加载500条以上数据(不分页),性能超级差,有时导致浏览器卡死!
例子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 InsertDB {
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) {
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等。 */
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();
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ak_2005/archive/2008/09/14/2912507.aspx
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 InsertDB {
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) {
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等。 */
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();
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ak_2005/archive/2008/09/14/2912507.aspx
发表评论
-
两分钟让你明白什么是ERP
2010-07-03 17:01 836把专业的问题通俗化—— ERP(Enterpris ... -
使用Java将Word转为Html或txt等
2010-04-29 11:01 1187前一段时间为这个问题头疼的不得了,后来查阅了资料终于解决了;现 ... -
如何利用Java-JACOB操作WORD文档
2010-04-29 10:50 1720JACOB是一个 JAVA到微软的 ... -
Ant教程详解
2010-04-22 09:06 829Ant是一个Apache基金会下的跨平台的构件工具,它可以实现 ... -
java调用.dll文件
2010-04-19 10:45 1440一.在程序用jnative调用window的dll 1. ... -
如何在Web页面上直接打开、编辑、创建Office文档
2010-04-18 15:03 1499如何在Web页面上做到像S ... -
Apache POI For Java Excel
2010-04-18 14:14 1451Apache POI For Java Excel POI的 ... -
Java 串口通信环境的配置
2010-03-19 11:03 2271做串口通信,要从网上下载三个文件:分别是: 1.COMM.J ... -
多浏览器兼容的CSS js 的 tab 选项卡
2010-03-14 14:18 1666<!DOCTYPE html PUBLIC " ... -
简单实用的CSS网页布局中文排版心得
2010-03-14 10:05 814一、如何设定文字字体、颜色、大小 — 使用font f ... -
CSS网页布局编码小技巧整理
2010-03-14 09:59 6261、ul标签在Mozilla中默认是有padding值的,而 ... -
Java编程中中文乱码的问题
2010-03-14 09:45 745http://blog.csdn.net/wonder4/ar ... -
Java操作手机发送短信
2010-03-14 09:09 1374作者:曹祺 Blog: http://bl ... -
一个非常有用工具软件
2010-03-14 08:23 786这个小工具非常有用,它可以将数据库表中的字段生成对应的Java ... -
JDK1.5中的打印服务
2010-03-14 08:18 936package com.unutrip.print; imp ... -
使用SUN的MAIL包发邮件
2010-03-11 09:02 817import java.util.Properties; i ... -
JXL生成Excel并下载
2010-02-01 10:21 1546package cn.hld.practise.excel; ... -
jxl生成excel
2010-02-01 10:06 760package campaign; import com.s ... -
利用jxl包生成Excel实例
2010-02-01 10:04 1249import jxl.*; import jxl.write. ... -
Tomcat tomcat-users.xml 配置用户
2010-01-31 16:11 1360<?xml version='1.0' encoding ...
相关推荐
改资源是用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....
在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文本文档
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板EasyPoi的主要特点1.设计精巧,使用简单2.接口丰富,...
试题管理:支持excel模板导入试题、支持使用富文本编辑试题及插入数学公式,同时还支持上传试题教学视频 试卷管理:支持将试卷导出成word文档、html页面进行打印、支持富文本图片导出到word 试卷批改功能:...
这样可以使生成的代码更符合业界代码命名习惯,如,用户和角色的关联关系表常被命名为:t_user_role,表中字段有user_id和role_id,按上面的配置后生成的代码为UserRole.java,类中的属性为userId和roleId. ...
试题管理:支持excel模板导入试题、支持使用富文本编辑试题及插入数学公式,同时还支持上传试题教学视频 试卷管理:支持将试卷导出成word文档、html页面进行打印、支持富文本图片导出到word 试卷批改功能:支持教师...
2、后台:Struts2、动态代理、Mybatis框架、log4J日志框架、jstl 、jstl自定义分页标签、代码机器人、Dwr、POI(实现Excel文件的导入导出)等 3、数据库:Mysql 4、服务器:Tomcat 项目中涉及的功能: 1、项目以及...
5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7、用户管理和部门管理。 8、权限管理。不仅可管理各个功能模块的权限,也可以管理功能模块里的页面按钮权限。 9、报表统计。也可以嵌入其他...
5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7、用户管理和部门管理。 8、权限管理。不仅可管理各个功能模块的权限,也可以管理功能模块里的页面按钮权限。 9、报表统计。也可以嵌入其他...
这样可以使生成的代码更符合业界代码命名习惯,如,用户和角色的关联关系表常被命名为:t_user_role,表中字段有user_id和role_id,按上面的配置后生成的代码为UserRole.java,类中的属性为userId和roleId. ...
5、导入导出Excel数据,支持xlsx和xls文件。 6、资源管理(菜单管理)。 7、用户管理和部门管理。 8、权限管理。不仅可管理各个功能模块的权限,也可以管理功能模块里的页面按钮权限。 9、报表统计。也可以嵌入其他...
3、试题管理:支持excel模板导入试题、支持使用富文本编辑试题及插入数学公式,同时还支持上传试题教学视频 4、试卷管理:支持将试卷导出成word文档、html页面进行打印、支持富文本图片导出到word 5、试卷批改功能...
ASP.NET 2.0 中的代码隐藏和编译 ASP.NET 2.0 Language Swithcer and Theme Swicher 多语言转换和多样式主题转换 ASP.NET2.0 ObjectDataSource的使用详解(1) ASP.NET2.0 ObjectDataSource的使用详解(2) ...
7. 系统用户:对各个基本的用户增删改查,单发、群发站内信邮件短信,导入导出excel表格,批量删除 8. 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料 9. 代码生成:生成完整的模块代码,...