- 浏览: 203749 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
jccmjl:
1222222222222222
htmlunit分页爬去数据实现 -
jccmjl:
os586 写道attr("checked" ...
jquery根据对象选中 radio 和select -
os586:
attr("checked",true); ...
jquery根据对象选中 radio 和select
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
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 java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
/**
* 文件的读写
*
* @author liming
*
*/
public class CardZipFileOperating {
private static final Logger logger = LoggerFactory.getLogger(CardZipFileOperating.class);
// // 解压到的目标文件
// public static String directory = "E:\\demo\\";
// // 解压文件
// public static String stringg = "F:\\缴费网\\DL20111213003195.zip";
/**
* 解压,处理下载的zip工具包文件
*
* @param directory
* 要解压到的目录
* @param string
* 工具包文件
* @throws IOException
* @throws Exception
* 操作失败时抛出异常
*/
public static int unzipFile(String directory,String stringg) throws IOException{
ZipInputStream zis=null;
int f=0;
try {
zis = new ZipInputStream(new FileInputStream(stringg));
} catch (Exception e) {
f++;
System.out.println("解压ZIP文件失败!");
System.out.println("没有找到"+stringg+"目录下文件,检查下是不是文件的路径格式写的不对,如:D盘下的DL202111213003195.zip文件格式写成:D:\\"+"\\DL202111213003195.zip");
}
if(zis!=null){
ZipEntry ze = null;
try {
ze = zis.getNextEntry();
} catch (IOException e) {
// TODO Auto-generated catch block
f++;
e.printStackTrace();
}
File parent = new File(directory);
if (!parent.exists() && !parent.mkdirs()) {
System.out.println("创建给文件解压到那个 \"" + directory+ "\"目录 失败");
System.out.println("检查下解压的目录是否格式写错:例如给文件解压到E盘下的 demo文件夹下,路径应该写成:E:\\"+"\\demo\\"+"\\");
f++;
}else{
while (ze != null) {
String name = ze.getName();
File child = new File(parent, name);
FileOutputStream output = new FileOutputStream(child);
byte[] buffer = new byte[10240];
int bytesRead = 0;
while ((bytesRead = zis.read(buffer)) > 0) {
output.write(buffer, 0, bytesRead);
}
output.flush();
output.close();
ze = zis.getNextEntry();
}
}
zis.close();
}
return f;
}
// 函数GetTestXlsFileName功能:遍历fileAbsolutePath目录下的所有指定扩展名文件
// 并将文件名保存在Vector中
@SuppressWarnings("unchecked")
public static List getTestXlsFileName(String fileAbsolutePath) {
List list = new ArrayList();
File file = new File(fileAbsolutePath);
File[] subFile = file.listFiles();
if(subFile!=null){
for (int iFileLength = 0; iFileLength < subFile.length; iFileLength++) {
// 判断是否为文件夹
if (!subFile[iFileLength].isDirectory()) {
String tempName = subFile[iFileLength].getName();
// 判断是否为xls或xlsx结尾
if (tempName.trim().toLowerCase().endsWith(".xls")
|| tempName.trim().toLowerCase().endsWith(".xlsx")) {
// 去掉tXXXX.xls文件的首字母t
// String fileName = tempName.substring(1);
list.add(tempName);
}
}
}
}
return list;
}
public static int OperatingExcl(String objectPath,String directory)
throws Exception {
int flag=0;
String pathoperratingExcl = directory + objectPath;
// 定义一个文件类
InputStream is = null;
// 定义一个工作book
Workbook workBook = null;
is = new FileInputStream(pathoperratingExcl);
// 获取值
workBook = Workbook.getWorkbook(is);
// 获取哪一页sheet
Sheet sheet = workBook.getSheet(0);
@SuppressWarnings("unused")
Cell cell = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://xx.xx.xx.xx:3306/realpay?useUnicode=true&characterEncoding=UTF-8";
String user = "xx";
String password = "xx";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
Statement statement = conn.createStatement();
for (int j = 1; j < sheet.getRows(); j++) {
if(!sheet.getCell(1, j).getContents().equals("")){
String order_no=null;
String sp_order_no=null;
String order_status=null;
String shengfen=null;
String yunyingshang=null;
String amount=null;
String order_date=null;
String liushui=null;
String phone=null;
String danjia=null;
String shifu=null;
String daozhang=null;
String tuikuan=null;
String create_date=null;
String update_date=null;
String this_status=null;
order_no=sheet.getCell(2, j).getContents();
sp_order_no=sheet.getCell(3, j).getContents();
String order_status1=sheet.getCell(15, j).getContents();
if(order_status1.equals("失败")){
order_status="0";
}else if(order_status1.equals("成功")){
order_status="1";
}else if(order_status1.equals(" ")){
order_status="2";
}else if(order_status1.equals("未付款")){
order_status="3";
}else if(order_status1.equals("部分退款")){
order_status="4";
}else{
order_status="2";
}
shengfen=sheet.getCell(6, j).getContents();
yunyingshang=sheet.getCell(7, j).getContents();
amount=sheet.getCell(9, j).getContents();
String ddd=sheet.getCell(1, j).getContents();
int index = ddd.indexOf(".");
String dddd=ddd.substring(0,index);
order_date=dddd;
liushui=sheet.getCell(4, j).getContents();
phone=sheet.getCell(10, j).getContents();
danjia=sheet.getCell(11, j).getContents();
shifu=sheet.getCell(12, j).getContents();
daozhang=sheet.getCell(13, j).getContents();
tuikuan=sheet.getCell(14, j).getContents();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
create_date=sdf.format(new Date());
update_date="0000-00-00 00:00:00";
this_status="1";
String sql = "INSERT INTO gaoyang_checking(order_no,sp_order_no,order_status,shengfen,yunyingshang,amount,order_date,liushui,phone,danjia,shifu,daozhang,tuikuan,create_date,update_date,this_status)" +
"VALUES" +
"('"+order_no+"','"+sp_order_no+"','"+order_status+"','"+shengfen+"','"+yunyingshang+"'," +
"'"+amount+"','"+order_date+"','"+liushui+"','"+phone+"','"+danjia+"'" +
",'"+shifu+"','"+daozhang+"','"+tuikuan+"','"+create_date+"','"+update_date+"','"+this_status+"')";
int rs = statement.executeUpdate(sql);
if(rs>0){
//System.out.println("添加成功》》》》"+j);
flag++;
}else{
System.out.println("添加失败》》》》");
System.out.println("失败的sql"+sql);
}
}
}
conn.close();
conn.close();
workBook.close();
return flag;
}
public static int DelOperatingExcl(String objectPath){
int id=0;
try {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://1xx.1xx8.1.2xx2:3306/realpay?useUnicode=true&characterEncoding=UTF-8";
String user = "xx";
String password = "xx";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
Statement statement = conn.createStatement();
String sql = "DELETE FROM gaoyang_checking WHERE order_date LIKE '%"+objectPath+"%'";
System.out.println(sql);
id = statement.executeUpdate(sql);
conn.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return id;
}
/**
* 读取excl文件并给存入到Map中去
*
* @throws Exception
*/
@SuppressWarnings("unchecked")
public static void readExcl(String adatete,String directory,String stringg) throws Exception {
int j=0;
//解压到的文件 解压文件
int zipa=unzipFile(directory,stringg);
if(zipa<1){
//String y=adatete.split("-")[1].split("-")[0];
// String m=adatete.split("-")[0];
// String d=adatete.split("-")[2];
String f1=adatete.substring(0,4);
String f2=adatete.substring(4,6);
String f3=adatete.substring(6,8);
String zTime=f1+"-"+f2+"-"+f3;
List list = getTestXlsFileName(directory);
String pas="DL20111213003195_"+adatete+".xls";
for (int i = 0; i < list.size(); i++) {
//System.out.println(list.get(i));
if(pas.equals(list.get(i))){
int shan=DelOperatingExcl(zTime);
if(shan>0){
System.out.println("数据库有"+adatete+"记录,已经删除!");
}else{
System.out.println("数据库未有"+adatete+"记录!");
}
//路径 要添加的路径
int chenggong=OperatingExcl(pas,directory);
System.out.println("添加已经结束,添加了:"+chenggong+"条!");
}else{
j++;
}
if(j==list.size()){
System.out.println("没有找到"+adatete+"日期相对应的excel文件文件");
System.out.println("1、当天没有文件,2、检查下日期是否写错,例如2012年2月9号的必须写成:20120209");
}
}
}
}
public static void main(String[] args) {
try {
int dd=args.length;
if(dd==3){
System.out.println(dd);
String adatete = args[0];
String directory = args[1];
String stringg = args[2];
if(adatete.equals("") || adatete==null){
System.out.println("请按顺序输入3个参数,1 日期、2解压到的目录 、3需要解压的文件目录");
}else if(directory.equals("") || directory==null){
System.out.println("请按顺序输入3个参数,1 日期、2解压到的目录 、3需要解压的文件目录");
}else if(directory.equals("") || directory==null){
System.out.println("请按顺序输入3个参数,1 日期、2解压到的目录 、3需要解压的文件目录");
}else{
readExcl(adatete,directory,stringg);
}
}else{
System.out.println("请按顺序输入3个参数,1 日期、2解压到的目录 、3需要解压的文件目录");
}
// String m=adatete.split("-")[0];
// String d=adatete.split("-")[2];
//readExcl("20120229","E:\\demo\\","F:\\缴费网\\DL20111213003195.zip");
} catch (Exception e) {
e.printStackTrace();
}
}
}
在eclipse下安装fat jar插件进行给项目打成jar包:
安装:
问题:有两个项目,他们都是两个引用包(没main入口)。像这样
这两个项目,kernel是最底层的引用包,而androidConnection也是一个引用了kernel包的引用包,现在我想打包androidConnection,但是用普通的import成jar是不包括kernel的jar的。
因此搜索了一下,网上大概有几个不错的方法,这里我打算用fatjar,因为它作为eclipse的插件,用起来够傻瓜式的,很方便。^-^
//////////////////////////下面是截取网上的教材////////////////////
查看Eclipse如何打包的过程中我发现有个fatjar插件功能更强些,可以把需要的资源打进一个jar里。所以下载了一个,下载地址:http://sourceforge.net/project/showfiles.php?group_id=115990&package_id=125924
解
压缩后是一个.../plugins/(net...)把plugins下面的(net..)文件夹拷贝到eclipse的plugins下,重新启动
Eclipse3.1,Windows=>prefernce=>fat jar
preference看到他就说明已经安装成功了。如果没有看到,没有关系,删除D:\eclipse310\configuration
\org.eclipse.update\platform.xml文件(此文件可以自动生成)不用担心以前的插件会因此而消失,没事。
刚开始找不到如何使用它,后来看到你的项目=〉Export..=>向导里有fat jar =>使用起来真的很方便。
(上面图片的红色框主要是填你的入口函数,当然引用包是没有的,因此你可以直接跳过什么都不用填,生成出来的jar包它会自动将你所引用到的其他jar包也包括进来)
总结:
一般把src打包export=>Jar File 即可。
想把src附属的资源一起打包,必须使用FatJar => export..=>FatJar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
最后在运行Jar包:cmd: java -jar F:\Myeclipsworkspace\javaExcleDemo\javaExcleDemo_fat.jar E:\\demo\\ F:\\缴费网\\DL20111213003195.zip
最后运行结果:
发表评论
-
java 读取访问本地服务器文件
2015-08-24 18:53 2137P Properties prop = new prope ... -
Java一个简单的配置jdk环境变量,以及输入cmd运行出现HellWord!
2013-04-08 23:57 2137首先在官网上下载Jdk... ... -
HashSet去重的一个简单例子
2012-11-20 09:40 5008public class TesetDomain { pu ... -
Java构造方法中:带参的构造方和和不带参数的构造方法
2012-11-09 09:36 13134在Java的web项目实际开发中,写一个实体类,常常看见写一些 ... -
在Eclipse中改变全体文字大小、颜色和其他的属性
2012-07-19 15:02 1393今天遇见一个问题,就是在本机上装好eclipse以后在写代码出 ... -
Java冒泡排序
2012-07-19 14:54 1038在以前面试中出现面试有面试数据结构的,今天自己写了一个冒泡排序 ... -
while和do....while的区别:
2012-07-02 10:58 1160while和do....while的区别: / ... -
三元运算符 的使用
2012-07-02 10:14 1548在世界开发中有时候运用到三元运算符,今天明白了是什么有个道 ... -
Map自己常用遍历的一种遍历方式
2012-06-12 17:19 1004在实际开发中自己常运用到Map集合,在开发中自己运用 ... -
一个简单是数值截取转为数值以及所运用
2012-06-12 09:32 792比如说一个这样的String 变量要进行运用: ... -
BigDecimal 类的运用
2012-06-12 09:27 1108在实际开发中有些数字相加总是是类型的问题相加、相减 ... -
split 截取运用
2012-04-20 17:44 1139String aa=共 21 行 第 1 页 共 2 ... -
JAVA中,从一个文件读取汉字,并写入另一文件中,要求遇到句号就换行,并记录逗号的个数。
2012-04-16 10:19 17310package common.gaoyang; import ...
相关推荐
asp.net mvc 上传excel文件并读取excle内容转成...思路:上传一个excel文件,读取该excel文件中数据,转成DataTable(或List),循环insert到数据库中去 https://blog.csdn.net/djk8888/article/details/80826430
java开发读取excle问价需要的三个jar。100%通过。
C# 读取加密的Excel 文件... 开始研究NPOI读取加密的Excel文件,没有研究出来,后来才改用Microsoft.Office.Interop.Excel读取加密的Excle文件。若有那位大牛研究出NPOI读取加密的Excel文件,希望能共享出源码来。 谢谢
直接可以用的项目。数据量大,导出多个excel然后压缩成zip文件。。。
本资源对应我的一片文章《基于Java语言SpringMVC框架的Excel上传解析以及下载教程》提供的jar依据,其中内容仅供参考,建议阅读那篇文章
易语言读取excel文件到高级表格源码,读取excel文件到高级表格,转换字母
自己些的一个很小,具有读取excle表格并向Mysql中插入数据
包括jar包,以及Java写的小程序用于读取本地excel文件,还有相关的API,以及Web应用导出Excel报表的简单实现
读取excle数据 并对数据进行一定的分析。 可用于教师考勤。读取excle数据 并对数据进行一定的分析。 可用于教师考勤。读取excle数据 并对数据进行一定的分析。 可用于教师考勤。读取excle数据 并对数据进行一定的...
C#操作excel 打开-读取-修改-保存 winform入门操作 适合入门读者
1、java解析读取excel文件中的数据,并写入数据库。 2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection....
java读取excl文件内容进行mysql自动创建表,实现了从手动创建表到自动一键式创建数据库表,大大节省了开发时间,便于程序猿进行项目开发
如何读取EXCEL文件实例源码
AutoLISP例程:读取excel文件.doc
通过OLDB 打开EXCLE文件 并且绑定datagridview
通过以上步骤在程序中引入了可以读取Excle文件的CExport2Excel类; 5、打开excel文件 通过按钮点击打开 void CExcelTestDlg::OnBnClickedButtonOpenExcel() { //获取文件路径 CFileDialog* lpszOpenFile; ...
使用java或android语言解析Excel数据时,通常采用poi的jar包进行解析,当前Apache最近的jar包是3.17,但有时版本过高导致出错,所以也附上poi-3.10的jar包
excel宏-将指定的SHEET按规则分拆并生成新的文件 原始需求是:将录入的脐橙订单自动分拆生成京东物流单导入格式文件 1. 每一行的包裹数量为1 (20斤), 例如订单为10件,自动分拆成10行 2. 将同一个地址的2个10斤...
matlab将多个excel读取并存到一个excel的不同sheet中
Qt将excle中数据读取到widget上源码 Qt将excle中数据读取到widget上源码 Qt将excle中数据读取到widget上源码