江苏公务员职位表导入MySQL
USE `database`; /*Table structure for table `post` */ DROP TABLE IF EXISTS `post`; CREATE TABLE `post` (
`no` int(11) NOT NULL AUTO_INCREMENT COMMENT '序列号',
`attach` varchar(16) DEFAULT NULL COMMENT '隶属关系',
`areaNo` varchar(8) DEFAULT NULL COMMENT '地区编码',
`area` varchar(16) DEFAULT NULL COMMENT '地区',
`unitNo` varchar(8) DEFAULT NULL COMMENT '部门编码',
`unit` varchar(64) DEFAULT NULL COMMENT '部门',
`positionNo` varchar(8) DEFAULT NULL COMMENT '职位代码',
`position` varchar(64) DEFAULT NULL COMMENT '职位',
`positionDesc` varchar(1024) DEFAULT NULL COMMENT '职位简介',
`positionType` varchar(2) DEFAULT NULL COMMENT '职位类别',
`ratio` int(11) DEFAULT NULL COMMENT '开考比例',
`number` int(11) DEFAULT NULL COMMENT '人数',
`education` varchar(16) DEFAULT NULL COMMENT '学历',
`major` varchar(256) DEFAULT NULL COMMENT '专业',
`others` varchar(1024) DEFAULT NULL COMMENT '其他',
`city` varchar(16) DEFAULT NULL COMMENT '城市/垂直部门',
PRIMARY KEY (`no`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
package com.jsgwy.xls; import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter; 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 ParseXls
{
private static FileOutputStream out;
private static OutputStreamWriter outWriter;
private static BufferedWriter bufWrite; public static void main(String[] args) {
try {
out = new FileOutputStream("d:/post.sql");
outWriter = new OutputStreamWriter(out, "UTF-8");
bufWrite = new BufferedWriter(outWriter); POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("d:/test.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
for (int i = 0; i < 17; i++) {
HSSFSheet sheet = wb.getSheetAt(i);
dealSheet(sheet);
}
bufWrite.close();
outWriter.close();
out.close();
wb.close();
fs.close();
System.out.println("done!");
} catch (IOException e) {
e.printStackTrace();
}
} private static void dealSheet(HSSFSheet sheet) {
String sheetName = sheet.getSheetName();
int rowCounter = sheet.getLastRowNum();
for (int i = 3; i < rowCounter; i++) {
HSSFRow row = sheet.getRow(i);
int cellCounter = row.getLastCellNum();
StringBuilder sb = new StringBuilder();
String tablePrefix = "INSERT INTO `post`("
+ "`attach`,`areaNo`,`area`,`unitNo`,`unit`,"
+ "`positionNo`,`position`,`positionDesc`,`positionType`,"
+ "`ratio`,`number`,`education`,`major`,`others`,`city`) VALUES ('";
String attach = row.getCell(0).getStringCellValue().trim();
String areaNo = row.getCell(1).getStringCellValue().trim();
String area = row.getCell(2).getStringCellValue().trim();
String unitNo = row.getCell(3).getStringCellValue().trim();
String unit = row.getCell(4).getStringCellValue().trim();
String positionNo = row.getCell(5).getStringCellValue().trim();
String position = row.getCell(6).getStringCellValue().trim();
String positionDesc = row.getCell(7).getStringCellValue().trim();
String positionType = row.getCell(8).getStringCellValue().trim();
int ratio = (int)(row.getCell(9).getNumericCellValue());
int number = (int)(row.getCell(10).getNumericCellValue());
String education = row.getCell(11).getStringCellValue().trim();
String major = row.getCell(12).getStringCellValue().trim();
String others = "";
if (cellCounter > 13) {
others = row.getCell(13).getStringCellValue().trim();
}
others = others.replaceAll(";", "<br/>");
others = others.replaceAll(",", "<br/>");
String city = sheetName;
sb.append(tablePrefix).append(attach)
.append("','").append(areaNo)
.append("','").append(area)
.append("','").append(unitNo)
.append("','").append(unit)
.append("','").append(positionNo)
.append("','").append(position)
.append("','").append(positionDesc)
.append("','").append(positionType)
.append("',").append(ratio)
.append(",").append(number)
.append(",'").append(education)
.append("','").append(major)
.append("','").append(others)
.append("','").append(city)
.append("');");
try {
bufWrite.write(sb.toString() + "\r\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
江苏公务员职位表导入MySQL的更多相关文章
- 使用命令行将Excel数据表导入Mysql中的方法小结
从Excel数据表导入MySQL,已经做过好几次了,但每次都会碰到各种问题:invalid utf8 character string, data too long, ...,浪费了不少时间 为了提高 ...
- 如何将EXCEL表导入MYSQL
在平时的工作学习中,难免会遇到需要把EXCEL表中的数据导入到MYSQL中,比如要把EXCEL中的数据进行核对,或者要把测试用例导入到TestLink中.本人搜集相关的资料并加以实践总 ...
- Oracle表导入Mysql方法
public void reportPerInfo(){ //每次导入清除之前数据 this.esEntPermitErrDao.updateObjectBySql("delete from ...
- sql 脚本 oracle scott 用户的四张表导入 mysql 中
/* 要先删除emp表,不能先删除dept表,因为dept有一个外键关联emp表*/drop TABLE emp;drop TABLE dept; drop TABLE salgrade;drop T ...
- mysql单表导入数据,全量备份导入单表
(1)“导出”表 导出表是在备份的prepare阶段进行的,因此,一旦完全备份完成,就可以在prepare过程中通过--export选项将某表导出了: innobackupex --apply-log ...
- Sqoop- sqoop将mysql数据表导入到hive报错
sqoop将mysql数据表导入到hive报错 [root@ip---- lib]# sqoop import --connect jdbc:mysql://54.223.175.12:3308/gx ...
- 把execel表数据导入mysql数据库
今天,是我来公司第二周的第一天. 作为新入职的实习生,目前还没适合我的实质项目工作,今天的学习任务是: 把execel表数据导入到mysql数据库,再练习下java操作JDBC. 先了解下execel ...
- PowerDesigner在修改表的字段Name的时Code不自动跟着变的处理方法以及导入Mysql数据库的表
tools-> GeneralOptions-> Dialog:Operation Modes: 去掉 NameToCodeMirroring 前面的√ 导入数据库中的表到PowerD ...
- 记录PHP post提交表单导入mysql中文乱码的问题
记录记录PHP post提交表单导入mysql中文乱码的问题 关于乱码,这是个糟糕的问题!涉及到很多地方 解决思路:程序所涉及的环境字符集不一致导致 mysql出现乱码一般是mysql数据库内部的字符 ...
随机推荐
- Spring源码解析 - BeanFactory接口体系解读
不知道为什么看着Spring的源码,感触最深的是Spring对概念的抽象,所以我就先学接口了. BeanFactory是Spring IOC实现的基础,这边定义了一系列的接口,我们通过这些接口的学习, ...
- Swift的Optional类型
我们使用Swift这个苹果新推出的编程语言已经有一段时间了.其中的一个极大的优点就是苹果称为“optional types”的东西.几乎所有的objective-c程序员都知道用nil来表示某个引用类 ...
- js 面向对象 继承机制
根据w3cschool上的描述:共有3种继承方法(对象冒充,原型链,混合) 1.对象冒充:构造函数ClassA使用this关键字给所有属性和方法赋值,使ClassA构造函数成为ClassB的方法,调用 ...
- C++互斥器:Semaphores
类似于Mutex,但信号量Semaphores不仅仅是锁和解锁那么简单,更高级的是,可以被锁住最多n次. 其中这个n是信号量被产生时指定的n.该值常常被用来代表“可以锁定住一份资源”的线程个数. 可以 ...
- Java泛型与Restlet客户端
写一个与restlet服务器通信的客户端类,用于测试通信是否成功,并且进行交互.为了方便其他人使用,于是,写一个通用的方法封装起来,可是中途却放生了一些问题. 按照正常写法,顺序走下来是这样的: pu ...
- Checkpoint--在Tempdb上的特殊性
由于Checkpoint的目的是为减少数据库恢复时间,而每次实例重启都会创建新的tempdb,而不需要恢复,因此checkpoint在Tempdb上行为与其他用户数据库上略微不同. 1. 系统引发的c ...
- 【加密算法】MD5
一.简介 MD5的全称是Message-Digest Algorithm 5(信息摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data S ...
- hbuilder APP服务器端(C#)推送
实现推送有多种方法和技术手段,我这边是使用三方“个推”去实现对特定用户的推送.我自己是关联业务,对下一步任务代办人进行消息通知. 1 .个推账号申请和配置 1.1.IOS需要推送证书 参考网址: ...
- ligerUI利用a标签下载文件
一.利用WriteFile实现下载,并验证文件是否存在,将指定的文件直接写入HTTP响应输出流.注意:大型文件使用此方法可能导致异常.可以使用此方法的文件大小取决于 Web 服务器的硬件配置. (1) ...
- 一步一步学习Swift之(二):好玩的工具playground与swfit基础语法
playground好于在于能一边写代码一边看到输出的常量变量的值.不需要运行模拟器. 我们来试一下该工具的用法. 打开xcode6开发工具,选择Get started with a playgrou ...