Este artigo descreve o método de analisar o conteúdo do Excel em Java. Compartilhe para sua referência. O método de implementação específico é o seguinte:
A cópia do código é a seguinte:
importar java.io.file;
importar java.io.fileInputStream;
importar java.io.inputStream;
importar java.util.arraylist;
importar org.apache.poi.hssf.usermodel.hssfworkbook;
importar org.apache.poi.ss.usermodel.cell;
importar org.apache.poi.ss.usermodel.row;
importar org.apache.poi.ss.usermodel.sheet;
importar org.apache.poi.ss.usermodel.workbook;
importar org.apache.poi.xssf.usermodel.xssfworkbook;
Teste de classe pública {
/**
* @param args
*/
public static void main (string [] args) {
MeetQuery ("403", "E: // Excel // 1 Processo de descarte de Plano de Nível 3 de Incêndio.xlsx");
}
Private Static ArrayList <EndBean> MeetQuery (nível de string, nome do arquivo de string) {
ArrayList <EndBean> list = new ArrayList <etetBean> ();
tentar {
Arquivo de arquivo = novo arquivo (nome do arquivo);
InputStream is = new FileInputStream (arquivo);
Pasta de trabalho da pasta de trabalho = nulo; // um objeto de pasta de trabalho é um arquivo do Excel
Folha da folha = NULL; // Página da folha, como o Excel sempre possui várias páginas de folha, é necessário determinar qual é o valor específico.
Linha linha1 = null; // uma linha na contagem de páginas da folha
int colnum = 0; // contagem total de linhas da folha
Célula celular = nulo; // conteúdo da primeira coluna
Cell Cell1 = NULL; // O conteúdo da segunda coluna
String MeetingName = NULL; // Nome do ponto
String meetId = null; // número do ponto
Reunião de String = NULL; // Pontos -chave
Hora da reunião de string = nulo; // Tempo de descarte
Meetbean meet = null;
// determinar qual formato o arquivo é 2003/2007 O objeto é tratado de maneira diferente, dependendo da versão
if (filename.endswith (". xls")) {
pasta de trabalho = novo HSSFWorkbook (IS); // Excel 2003
} else if (filename.endswith (". xlsx")) {
pasta de trabalho = novo XSSFWorkbook (IS); // Excel 2007
} outro {
retornar nulo;
}
// Para determinar qual página da planilha processar, existem três usuários no total e eles lidarão com diferentes pontos -chave do manuseio de cada um.
if (nível == "401") {
// Pontos-chave e dicas de manuseio para o webmaster de serviço
folha = book.getSheetat (0);
colnum = sheet.getlastrownum (); // O número total de linhas não inclui o conteúdo do título
System.out.println ("Total:" + Colnum + "Row");
for (int i = 3; i <= colnum; i ++) {
meet = new meetbean ();
row1 = Sheet.getRow (i); // Número de linhas a serem analisadas
célula = row1.getCell ((curta) 2); // o número de colunas para resolver nomes de pontos -chave
Cell1 = Row1.getCell ((curta) 4); // O número de colunas para analisar os principais pontos de Pontos
if (célula! = null && cell1! = null) {
meetName = Cell.getStringCellValue ();
Reunião = Cell1.getStringCellValue ();
encontro = "yd" + i;
// Se o nome do ponto de descarte estiver vazio, ele fará um loop para o último ponto de descarte e retornará. . .
if (! meetName.equals ("")) {
String intstr = string
.Valueof ((int) (Math.random () * 10 + 1)); // gerar números aleatórios de 1-10
// Se for um número aleatório de 1-9, o formato automático de tempo de compensação zero é 00:00:00
if (intstr.Length () <2) {
String min = "0" + intstr;
meettime = "00:" + min + ": 00";
} outro {
meettime = "00:" + intstr + ": 00";
}
meet.setmeetid (encontro); // número de pontos -chave para descarte
meet.setmeetName (meetName); // o nome dos pontos -chave do descarte
meet.setmeethint (meethine); // 0 pontos -chave para lidar com
meet.setMeetTime (Meettime); // Tempo de descarte
meet.setMeetLevel ("401"); // Nível dos pontos de manuseio
list.add (meet);
} outro {
lista de retorno;
}
} outro {
lista de retorno;
}
}
} else if (nível == "402") {
Sheet = Work.GetSheetat (1); // Os principais pontos do despachante da OCC e dicas de manuseio
colnum = sheet.getlastrownum (); // O número total de linhas não inclui o conteúdo do título
System.out.println ("Total:" + Colnum + "Row");
for (int i = 3; i <= colnum; i ++) {
meet = new meetbean ();
row1 = Sheet.getRow (i); // Número de linhas a serem analisadas
célula = row1.getCell ((curta) 2); // o número de colunas para resolver nomes de pontos -chave
Cell1 = Row1.getCell ((curta) 4); // O número de colunas para analisar os principais pontos de Pontos
if (célula! = null && cell1! = null) {
meetName = Cell.getStringCellValue ();
Reunião = Cell1.getStringCellValue ();
encontro = "yd" + i;
// Se o nome do ponto de descarte estiver vazio, ele fará um loop para o último ponto de descarte e retornará. . .
if (! meetName.equals ("")) {
String intstr = string
.Valueof ((int) (Math.random () * 10 + 1)); // gerar números aleatórios de 1-10
// Se for um número aleatório de 1-9, o formato automático de tempo de compensação zero é 00:00:00
if (intstr.Length () <2) {
String min = "0" + intstr;
meettime = "00:" + min + ": 00";
} outro {
meettime = "00:" + intstr + ": 00";
}
meet.setmeetid (encontro); // número de pontos -chave para descarte
meet.setmeetName (meetName); // o nome dos pontos -chave do descarte
meet.setmeethint (meethine); // pontos -chave para manuseio
meet.setMeetTime (Meettime); // Tempo de descarte
meet.setmeetlevel ("402"); // Nível dos pontos de manuseio
list.add (meet);
} outro {
lista de retorno;
}
} outro {
lista de retorno;
}
}
} else if (nível == "403") {
Sheet = Work.GetSheetat (2); // Pontos -chave do centro de controle e dicas de manuseio
colnum = sheet.getlastrownum (); // O número total de linhas não inclui o conteúdo do título
System.out.println ("Total:" + Colnum + "Row");
int nameInt = 0;
int hineint = 0;
for (int j = 0; j <= colnum; j ++) {
row1 = Sheet.GetRow (3); // Somente o número de linhas a ser analisado tem o nome dos principais pontos na terceira linha, o conteúdo imediato
célula = row1.getCell ((curta) 1); // o número de colunas para resolver nomes de pontos -chave
Cell1 = Row1.getCell ((curta) 2); // O número de colunas para analisar os principais pontos de Pontos
}
for (int i = 3; i <= colnum; i ++) {
meet = new meetbean ();
row1 = Sheet.getRow (i); // Número de linhas a serem analisadas
célula = row1.getCell ((curta) 1); // o número de colunas para resolver nomes de pontos -chave
Cell1 = Row1.getCell ((curta) 2); // O número de colunas para analisar os principais pontos de Pontos
if (célula! = null && cell1! = null) {
meetName = Cell.getStringCellValue ();
Reunião = Cell1.getStringCellValue ();
encontro = "yd" + i;
// Se o nome do ponto de descarte estiver vazio, ele fará um loop para o último ponto de descarte e retornará. . .
if (! meetName.equals ("")) {
String intstr = string
.Valueof ((int) (Math.random () * 10 + 1)); // gerar números aleatórios de 1-10
// Se for um número aleatório de 1-9, o formato automático de tempo de compensação zero é 00:00:00
if (intstr.Length () <2) {
String min = "0" + intstr;
meettime = "00:" + min + ": 00";
} outro {
meettime = "00:" + intstr + ": 00";
}
meet.setmeetid (encontro); // número de pontos -chave para descarte
meet.setmeetName (meetName); // o nome dos pontos -chave do descarte
meet.setmeethint (meethine); // pontos -chave para manuseio
meet.setMeetTime (Meettime); // Tempo de descarte
meet.setMeetLevel ("403"); // Nível dos pontos de manuseio
list.add (meet);
} outro {
lista de retorno;
}
} outro {
lista de retorno;
}
}
}
is.close ();
} catch (Exceção e) {
E.PrintStackTrace ();
}
lista de retorno;
}
}
Espero que este artigo seja útil para a programação Java de todos.