📄 excelreadservlet.java
字号:
/*
* SigcalcFirstServlet.java
*
* Created on November 15, 2008, 1:17 PM
*/
import java.io.*;
import java.lang.reflect.Array;
import java.net.*;
import java.util.ArrayList;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.*;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
*
* @author
* @version
*/
public class ExcelReadServlet extends HttpServlet {
static int len=0;
static int no_of_row=0;
/** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
//String FileName="C:/Documents and Settings/mekala.FOCUS/Desktop/Book1.xls";
String FileName=request.getParameter("fname");
int sno=Integer.parseInt(request.getParameter("sno"));
sno=sno-1;
try
{
HttpSession ses=request.getSession();
ses.setAttribute("FILENAME",FileName);
ses.setAttribute("SNO",String.valueOf(sno));
InputStream in= new FileInputStream(FileName);
POIFSFileSystem fs=new POIFSFileSystem(in);
HSSFWorkbook wb=new HSSFWorkbook(fs);
HSSFSheet sheet=wb.getSheetAt(sno);
ArrayList al=new ArrayList();
int no_of_rows=sheet.getPhysicalNumberOfRows();
System.out.println("NUMBER OF ROWS"+no_of_rows);
HSSFRow row;
HSSFCell cell;
String s;
int rows;
rows = sheet.getPhysicalNumberOfRows();
if(rows>0)
{
int cols = 0;
int tmp = 0;
// To find number of columns in data sheet
for(int i = 0; i < rows; i++)
{
row = sheet.getRow(i);
if(row != null)
{
tmp = sheet.getRow(i).getPhysicalNumberOfCells();
if(tmp > cols)
cols = tmp;
}
}
int k=0;
// Let len be number of samples in Micro array Dataset
len=cols-1;
System.out.println("len: "+len+" row :"+rows);
// TO retrive the values row by row
for(int r = 0; r < rows; r++)
{
if(r==1)
{
System.out.println(" ");
System.out.println("-------------------------------------------");
}
row = sheet.getRow(r);
System.out.println(" ");
// To retrieve the value column by column from each Cell
if(row != null)
{
for(int c = 0; c < cols; c++)
{
if(c==1)
{
System.out.print(" | \t");
}
cell = row.getCell((short)c);
if(cell != null)
{
if(cell.getCellType() == HSSFCell.CELL_TYPE_STRING)
{
String cellvalue=cell.getStringCellValue();
System.out.print(cellvalue+"\t");
if(r!=0 && c!=0)
{
// values are added to al arraylist
al.add(cellvalue);
}
}
else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC)
{
double cellvalue1=cell.getNumericCellValue();
System.out.print(cellvalue1+"\t");
if(r!=0 && c!=0)
{
// values are added to al arraylist
al.add(new Double(cellvalue1));
}
}
}
else
{
System.out.println("*********Null Value:"+"row= "+r+" Col= " +c);
}
}
k++;
}
else
{
rows++;
}
}
System.out.println("\n"+al+"\n"+al.size());
request.setAttribute("ALLVALUES",al);
request.setAttribute("col",String.valueOf(len));
}
System.out.println(" Page Forwarded ");
RequestDispatcher rd=getServletContext().getRequestDispatcher("/sigcalcfirst.jsp");
rd.forward(request,response);
}
catch(Exception e)
{
System.out.print("Sigcalc First Servlet Exception:"+e);
}
out.close();
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
// </editor-fold>
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -