如何导Excel文件到数据库中

时间:2008-07-23 16:32:35   来源:论坛整理  作者:  编辑:chinaitzhe
请问各位,如何利用servlet实现导Excel文件内容到数据库中,我试了好些方法都无法在servlet中读到硬盘上Excel文件,我应该在doGet()(或doPost())方法体中如何才能读到硬盘上Excel文件的内容?
急啊!!!

网友回复:此回复为自动发出,仅用于显示而已,并无任何其他非凡作用
楼主【jswdw】截止到2008-06-30 15:22:21的历史汇总数据(不包括此帖):
发帖数:23 发帖分:475
结贴数:23 结贴分:475
未结数:0 未结分:0
结贴率:100.00% 结分率:100.00%
敬礼!
网友回复:建议试用下Jakarta_POI,地址:http://jakarta.apache.org/poi/hssf/index.html
Java code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/





package mypackage.servletxsl.examples;



import java.io.*;

import java.net.*;

import javax.servlet.*;

import javax.servlet.http.*;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFDataFormat;

import org.apache.poi.hssf.usermodel.HSSFFont;

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.hssf.util.HSSFColor;

//或者直接引用import org.apache.poi.hssf.usermodel.*;



public class HSSFCreate extends HttpServlet {

    public void init(ServletConfig config){}

   throws ServletException {

        super.init(config);

    }

    public void destroy() {

    }

    protected void processRequest(HttpServletRequest request,

        HttpServletResponse response)

     throws ServletException, IOException {

        response.setContentType("application/vnd.ms-excel");

        HSSFWorkbook wb = new HSSFWorkbook();

        HSSFSheet sheet = wb.createSheet("new sheet");

        HSSFRow row     = sheet.createRow((short)0);

        HSSFCell cell   = row.createCell((short)0);

        cell.setCellValue(1);

        row.createCell((short)1).setCellValue(1.2);

        row.createCell((short)2).setCellValue("一个字符串值");

        row.createCell((short)3).setCellValue(true);

        OutputStream out = response.getOutputStream();

        wb.write(out);

        out.close();

    }



    protected void doGet(HttpServletRequest request,

        HttpServletResponse response)

     throws ServletException, IOException {

        processRequest(request, response);

    }



    protected void doPost(HttpServletRequest request,

        HttpServletResponse response)

     throws ServletException, IOException {

        processRequest(request, response);

    }



    public String getServletInfo() {

       return "示例:在Servlet中用HSSF创建Excel工作簿";

    }

}




需要的驱动是:
jakarta-poi-1.5.1-final-20020615.jar
mysql-connector-java-3.0.8-stable-bin.jar
poi-2.0-final-20040126.jar
pop.jar

或者用jxl.jar:

Java code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/





package xsl;



import java.io.*;

import java.net.URL;

import java.io.File;

import java.util.Date;

import jxl.*;

import jxl.read.biff.*;

import tel.db.DBConnect;

import tel.util.*;

import java.sql.*;

import javax.servlet.http.*;



public class xsl {

  public xsl() {

  }

  public  void    test(){

    System.out.println("test ok");

  }

  public void  readWrite(String xlsFile ,String date)   throws   Exception{

   String myxslFile = xlsFile;

   FileInputStream fileOut = null;

   URL url = this.getClass().getResource("../../../upload_file/updata.xls");

  try {

      Workbook workbook = Workbook.getWorkbook(new File(url.getFile()));

      Sheet sheet = workbook.getSheet(0);

      int cNum=sheet.getColumns();

      DBConnect dbc = new DBConnect();

      dbc.prepareStatement("select * from user");

      dbc.executeUpdate();

      int rNum=sheet.getRows();

      for(int i=1;i<rNum;i  )

        {

          Cell a0=sheet.getCell(0,i);

          Double b0=new Double(a0.getContents());

          number=b0.intValue();

          dbc.prepareStatement("INSERT INTO user(user) VALUES (?)");

          dbc.setInt(1, user);

          dbc.executeUpdate();

        }

 workbook.close();

      }

      catch (BiffException ex2) {

        System.out.println("jxl.read.biff.erro");

      }

      catch (IOException ex2) {

      }

   }





呵呵 多试试吧!
网友回复:建议已用jxl.jar,
代码楼上已经写了就不多说了。
关键字:Excel,文件数据库,

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面