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. modelsim仿真中Altera库的用法

    添加altera 库 实例: 把建立lpm_mux IP时生成的.v文件lpm_mux_ip.v和编写的测试脚本文件放在一起,在modelsim中建立工程,把下面两个文件添加到工程中 直接compil ...

  2. if_elseif

    用MATLAB写了个这样的程序 if ((0 < pwr <=2) ) wf_temp1 = round(temp_wf0/2^7); elseif( (2 < pwr<= 4 ...

  3. shell中的重定向(输入输出)

    注意:不同版本的Linux会有所区别,不过大同小异 Linux 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设 ...

  4. Spring 配置 事务的几种方式

    Spring配置文件中关于事务配置总是由三个组成部分,DataSource.TransactionManager和代理机制这三部分,无论是那种配置方法,一般变化的只是代理机制这块! 首先我创建了两个类 ...

  5. api接口签名相关文章

    http://www.cnblogs.com/hnsongbiao/p/5478645.htmlhttp://www.cnblogs.com/codeon/p/5900914.html?from=ti ...

  6. 论文笔记(2)-Dropout-Regularization of Neural Networks using DropConnect

    这篇paper使用DropConnect来规则化神经网络.dropconnect和dropout的区别如下图所示.dropout是随机吧隐含层的输出清空,而dropconnect是input unit ...

  7. vs 2015 结合新配置的IIS 发布网站过程中遇到的问题及解决办法?

    1.由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序 错误: HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添 ...

  8. Python 爬虫实战—盘搜搜

    近期公司给了个任务:根据关键搜索百度网盘共享文件并下载. 琢磨了几天写下了一段简单的demo代码,后期优化没有处理. 主要的思路:(1)根据关键字爬取盘搜搜的相关信息 (2)解析并获取盘搜搜跳转到百度 ...

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

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

  10. 毕业回馈-89C51之数码管的使用

    7段码的数码管由7个LED等共同组成,根据公共端的不同有共阴和共阳之分.现在很多数码管在7段码的基础上加了一个.即dp,其内部结构如下图所示: 公共端为LED灯的阴极,所以为共阴极接法: 公共端为阳极 ...