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. 7系列GTX中的疑惑

    1.PCOMMA与MCOMMA指什么? PCOMMA是指RD-部分的数据,MCOMMA是指RD+部分的数据. 2.risk信号作用? risk信号来指示有效的K码. 如果不选择用8b10b来编码,是需 ...

  2. ISO 8895-1

    https://en.wikipedia.org/wiki/ISO/IEC_8859-1#Codepage_layout http://czyborra.com/charsets/

  3. (转) MVC身份验证及权限管理-2

    转自:http://www.cnblogs.com/ldp615/archive/2010/10/27/asp-net-mvc-forms-authentication-roles-authoriza ...

  4. How Many Tables HDOJ

    How Many Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  5. Sharepoint/Project Server 看不到“安全性”菜单以及子菜单

    在Sharepoint/Project Server 构建后,左侧看不到看不到“服务器设置”菜单,在设置菜单后左侧出现“服务器设置”菜单,但是依然在右侧看不到“安全性”菜单以及子菜单. (这个图是借的 ...

  6. 通过Spring Session实现新一代的Session管理

    长期以来,session管理就是企业级Java中的一部分,以致于我们潜意识就认为它是已经解决的问题,在最近的记忆中,我们没有看到这个领域有很大的革新. 但是,现代的趋势是微服务以及可水平扩展的原生云应 ...

  7. 让Easy UI 的DataGrid直接内嵌的JSON对象,并重写form load 方法

    前言 我有这样的JSON对象 { "UserName": "jf", "UserPwd": "123456", &quo ...

  8. 项目笔记---事半功倍之StyleCop(一)

    前言 曾几何时,你是否在看别人代码的时候总是在抱怨代码没有注释,命名不规范,代码风格不统一,代码可读性差?是否有一个适合团队开发规范的检查工具? 答案就是大名鼎鼎的StyleCop代码检查插件,有了这 ...

  9. BitAdminCore框架更新日志20180531

    索引 NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/coo ...

  10. PageAdmin CMS网站建设教程:如何实现信息的定时发布

    PageAdmin Cms发布文章时候有一个上线时间设置和下线时间设置,网站编辑人员可以利用这个功能来实现定时发布,在信息发布界面,如下图: 设置后就会自动加入定时任务中,注意这个功能需要再系统设置& ...