• 江苏公务员职位表导入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() + "
    ");  
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
  • 相关阅读:
    几种负载均衡技术的实现
    gevent和tornado异步
    Android笔记:invalidate()和postInvalidate() 的区别及使用——刷新ui
    ubuntu终端颜色配置
    应用程序基础及组件(续)
    安卓架构
    Linux下安卓ndk混合编译调用so方法——QuickStart学习
    JAVA反射机制
    BroadcastReceiver应用详解——广播
    库会因为权限问题无法打开——selinux开启严格模式
  • 原文地址:https://www.cnblogs.com/juventus/p/6284595.html
Copyright © 2020-2023  润新知