Java excel数据到MySql表的转换

Java excel数据到MySql表的转换,java,hibernate,spring-mvc,Java,Hibernate,Spring Mvc,我正在用Eclipse作为IDE在spring和hibernate中开发一个应用程序 我想将Excel文件数据转换为MySql表 我已经提到了以下链接 有人能给我发一个有用的链接或简单的java代码吗?这是您读取Excel文件并存储在集合对象中的方式 import java.io.*; import java.util.Iterator; import org.apache.poi.ss.usermodel.Cell; import org.apache.po

我正在用Eclipse作为IDE在spring和hibernate中开发一个应用程序

我想将Excel文件数据转换为MySql表

我已经提到了以下链接


有人能给我发一个有用的链接或简单的java代码吗?

这是您读取Excel文件并存储在集合对象中的方式

    import java.io.*;
    import java.util.Iterator;

    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;

    public class ReadExcelFile {
        public static void main(String[] args) 
        {
            try {

                FileInputStream file = new FileInputStream(new File("C:/Users/hussain.a/Desktop/newExcelFile.xlsx"));
                XSSFWorkbook workbook = new XSSFWorkbook(file);
                XSSFSheet sheet = workbook.getSheetAt(0);
                Iterator<Row> rowIterator = sheet.iterator();
                rowIterator.next();
                while(rowIterator.hasNext())
                {
                    Row row = rowIterator.next();
                    //For each row, iterate through each columns
                    Iterator<Cell> cellIterator = row.cellIterator();
                    while(cellIterator.hasNext())
                    {
                        Cell cell = cellIterator.next();
                        switch(cell.getCellType()) 
                        {
                            case Cell.CELL_TYPE_BOOLEAN:
                                System.out.println("boolean===>>>"+cell.getBooleanCellValue() + "\t");
// write hibernate lines here to store it in your domain
                                break;
                            case Cell.CELL_TYPE_NUMERIC:
                                System.out.println("numeric===>>>"+cell.getNumericCellValue() + "\t");
// write hibernate lines here to store it in your domain
                                break;
                            case Cell.CELL_TYPE_STRING:
                                System.out.println("String===>>>"+cell.getStringCellValue() + "\t");
// write hibernate lines here to store it in your domain
                                break;
                        }
                    }
                    System.out.println("");
                }
                file.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
import java.io.*;
导入java.util.Iterator;
导入org.apache.poi.ss.usermodel.Cell;
导入org.apache.poi.ss.usermodel.Row;
导入org.apache.poi.xssf.usermodel.xssfheet;
导入org.apache.poi.xssf.usermodel.xssf工作簿;
公共类ReadExcelFile{
公共静态void main(字符串[]args)
{
试一试{
FileInputStream file=newfileinputstream(新文件(“C:/Users/hussain.a/Desktop/newExcelFile.xlsx”);
XSSF工作簿=新XSSF工作簿(文件);
XSSFSheet sheet=workbook.getSheetAt(0);
迭代器rowIterator=sheet.Iterator();
roweiterator.next();
while(roweiterator.hasNext())
{
行=行迭代器。下一步();
//对于每一行,遍历每一列
迭代器cellIterator=row.cellIterator();
while(cellIterator.hasNext())
{
Cell=cellIterator.next();
开关(cell.getCellType())
{
case Cell.Cell\u类型\u布尔值:
System.out.println(“boolean===>>>”+cell.getBooleanCellValue()+“\t”);
//在此处编写hibernate行以将其存储在您的域中
打破
case Cell.Cell\u类型\u数值:
System.out.println(“numeric===>>>”+cell.getNumericCellValue()+“\t”);
//在此处编写hibernate行以将其存储在您的域中
打破
case Cell.Cell\u类型\u字符串:
System.out.println(“String===>>>”+cell.getStringCellValue()+“\t”);
//在此处编写hibernate行以将其存储在您的域中
打破
}
}
System.out.println(“”);
}
file.close();
}catch(filenotfounde异常){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}

在此之后,您可以使用hibernate并将其存储在域类中

我使用POI读取excel文件。以下代码可以帮助您使用hibernate将数据插入数据库:

try{

            FileInputStream input = new FileInputStream("D:\\employeedata.xls");  
                POIFSFileSystem fs = new POIFSFileSystem( input );  
                HSSFWorkbook wb = new HSSFWorkbook(fs);  
                HSSFSheet sheet = wb.getSheetAt(0);  
                HSSFRow row;  


                for(int i=1; i<=sheet.getLastRowNum(); i++)
                {  
                    Employee employee=new Employee();
                    row = sheet.getRow(i);  


                    employee.setEmployeeName(String.valueOf(row.getCell(0).getRichStringCellValue()));  
                    employee.setDesignation(String.valueOf(row.getCell(1).getRichStringCellValue()));
                    employee.setSalary((long)row.getCell(2).getNumericCellValue());

                    employeeService.insert(employee); // call to spring service layer

                }  
    } catch (FileNotFoundException ec) {
        ec.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
试试看{
FileInputStream输入=新的FileInputStream(“D:\\employeedata.xls”);
POIFSFISTEM fs=新的POIFSFISTEM(输入);
HSSF工作手册wb=新的HSSF工作手册(fs);
HSSFSheet sheet=wb.getSheetAt(0);
HSSFRow row;
对于(int i=1;i