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的更多相关文章

  1. 使用命令行将Excel数据表导入Mysql中的方法小结

    从Excel数据表导入MySQL,已经做过好几次了,但每次都会碰到各种问题:invalid utf8 character string, data too long, ...,浪费了不少时间 为了提高 ...

  2. 如何将EXCEL表导入MYSQL

            在平时的工作学习中,难免会遇到需要把EXCEL表中的数据导入到MYSQL中,比如要把EXCEL中的数据进行核对,或者要把测试用例导入到TestLink中.本人搜集相关的资料并加以实践总 ...

  3. Oracle表导入Mysql方法

    public void reportPerInfo(){ //每次导入清除之前数据 this.esEntPermitErrDao.updateObjectBySql("delete from ...

  4. sql 脚本 oracle scott 用户的四张表导入 mysql 中

    /* 要先删除emp表,不能先删除dept表,因为dept有一个外键关联emp表*/drop TABLE emp;drop TABLE dept; drop TABLE salgrade;drop T ...

  5. mysql单表导入数据,全量备份导入单表

    (1)“导出”表 导出表是在备份的prepare阶段进行的,因此,一旦完全备份完成,就可以在prepare过程中通过--export选项将某表导出了: innobackupex --apply-log ...

  6. Sqoop- sqoop将mysql数据表导入到hive报错

    sqoop将mysql数据表导入到hive报错 [root@ip---- lib]# sqoop import --connect jdbc:mysql://54.223.175.12:3308/gx ...

  7. 把execel表数据导入mysql数据库

    今天,是我来公司第二周的第一天. 作为新入职的实习生,目前还没适合我的实质项目工作,今天的学习任务是: 把execel表数据导入到mysql数据库,再练习下java操作JDBC. 先了解下execel ...

  8. PowerDesigner在修改表的字段Name的时Code不自动跟着变的处理方法以及导入Mysql数据库的表

    tools-> GeneralOptions-> Dialog:Operation   Modes: 去掉 NameToCodeMirroring 前面的√ 导入数据库中的表到PowerD ...

  9. 记录PHP post提交表单导入mysql中文乱码的问题

    记录记录PHP post提交表单导入mysql中文乱码的问题 关于乱码,这是个糟糕的问题!涉及到很多地方 解决思路:程序所涉及的环境字符集不一致导致 mysql出现乱码一般是mysql数据库内部的字符 ...

随机推荐

  1. jmeter 5.0版本更新说明(个人做个记录)

    变化   此页面仅详细说明了当前版本中所做的更改. 先前更改的历史记录中详细介绍了早期更改.   5.0版 摘要 新的和值得注意的 不兼容的变化 Bug修复 改进 非功能性变化 已知问题和解决方法 谢 ...

  2. (并查集)Is It A Tree? --POJ--1308

    链接: http://poj.org/problem?id=1308 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82830#probl ...

  3. 基于MATLAB的均值滤波算法实现

    在图像采集和生成中会不可避免的引入噪声,图像噪声是指存在于图像数据中的不必要的或多余的干扰信息,这对我们对图像信息的提取造成干扰,所以要进行去噪声处理,常见的去除噪声的方法有均值滤波.中值滤波.高斯滤 ...

  4. 同一台服务器配置多个tomcat服务的方法

    要在同一台服务器上配置多个tomcat服务,需要解决以下几个问题 (1) 不同的tomcat启动和关闭监听不同的端口 (2) 不同的tomcat的启动文件startup.sh 中要指定各自的CATAL ...

  5. java web eclipse中项目的加载过程

    java web eclipse中项目的加载过程: Tomcat默认从WEB-INF/目录下加载资源,Eclipse在发布程序的时候,并没有把User Libraries的相关资源拷贝到WEB-INF ...

  6. java递归和反向递归

    1. 递归查询树tree结构有两种做法: 第一种,递归查询数据库结构, 第二种,一次性将数据库表中的所有数据查出来,然后再递归查出来的list集合, 第一种做法适合数据量较少的tree结构,因为要一直 ...

  7. [翻译]CSS3 Media Queries

    Media Queries Official Manual:http://www.w3.org/TR/css3-mediaqueries/ 原文链接:http://www.smashingmagazi ...

  8. 理解go语言 协程之间的通讯

    go已经越来越被重视了,特别适合大型互联网公司基础服务的编写,高效,高并发,可以同时允许多个明星出轨,多个明星结婚 都不在话下,下面介绍下GO协程通讯的过程 直接上代码 package main im ...

  9. 记录.NET Core通过Docker部署到Linux

    1.现在CentOS安装Docker环境(参考地址:https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/) 我这 ...

  10. C#跨线程操作UI

    WPF启动调度器 : Dispatcher.Invoke(new Action(() => { //你的代码 }));