Copy the code code as follows:
package export.excel;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import export.vo.PersonVo;
/**Export excel file
*
* @author passerby A
*
*/
public class ExportExcel {
public List<PersonVo> personVoList;
publicExportExcel()
{
initdata();
}
/**
* Initialization data
*/
public void initdata()
{
// random function
Random random = new Random();
personVoList = new ArrayList<PersonVo>();
//Initialize 100 people into the collection
PersonVo personVo = null;
for (int i = 0; i < 100; i++)
{
personVo = new PersonVo();
personVo.setId("" + i);
personVo.setName("passer-by" + i);
if (i%2==0)
{
personVo.setSex("male");
}
else
{
personVo.setSex("female");
}
// Get a random age within 100 years old
personVo.setAge("" + random.nextInt(100));
personVoList.add(personVo);
}
}
/**Export data in Excel format
* exportName export file name
* @param exportName
*/
public void exportPerson(String exportName)
{
try{
File excelFile = new File(exportName + "Temp.xls");
// file format
WritableCellFormat format = new WritableCellFormat();
// x to the left
format.setAlignment(Alignment.RIGHT);
// y top
format.setVerticalAlignment(VerticalAlignment.TOP);
//Create a working file
WritableWorkbook writableWorkbook = Workbook.createWorkbook(excelFile);
//Create a workbook
WritableSheet sheet1 = writableWorkbook.createSheet("Personal Information List", 0);
//Create the number of rows and set the width of the rows
sheet1.setColumnView(0, 10);
sheet1.setColumnView(1, 10);
sheet1.setColumnView(2, 10);
sheet1.setColumnView(3, 10);
//Set the row value
sheet1.addCell(new Label(0, 0, "ID", format));
sheet1.addCell(new Label(1, 0, "Name", format));
sheet1.addCell(new Label(2, 0, "Gender", format));
sheet1.addCell(new Label(3, 0, "Age", format));
//Write the collection into excel
int rowNum = 1;
for (PersonVo bean : personVoList)
{
int colspanNum = 0;
sheet1.addCell(new Label(colspanNum, rowNum, bean.getId(), format));
sheet1.addCell(new Label(colspanNum++, rowNum, bean.getName(), format));
sheet1.addCell(new Label(colspanNum++, rowNum, bean.getSex(), format));
sheet1.addCell(new Label(colspanNum++, rowNum, bean.getAge(), format));
rowNum++;
}
writableWorkbook.write();
writableWorkbook.close();
// If it was downloaded from the Internet, then write these
// super.getHttpServletResponse().setContentType("application/x-msdownload");
// String encodetittle = new String(excelName.getBytes("GBK"), "ISO-8859-1");
// super.getHttpServletResponse().addHeader("Content-Disposition","attachment;filename="+encodetittle+".xls");
FileInputStream finput = new FileInputStream(excelFile);
// OutputStream output = super.getHttpServletResponse().getOutputStream();
File fout = new File(exportName + ".xls");
OutputStream output = new FileOutputStream(fout);
BufferedInputStream buffin = new BufferedInputStream(finput);
BufferedOutputStream buffout = new BufferedOutputStream(output);
byte[] buffer = new byte[4096];
int count = 0;
while ((count = buffin.read(buffer, 0, buffer.length)) > 0) {
buffout.write(buffer, 0, count);
}
buffin.close();
buffout.close();
finput.close();
output.close();
excelFile.delete();
}
catch (Exception e) {
e.printStackTrace();
}
finally
{
System.out.println("Complete export operation");
}
}
/**Imported data is exported in Excel format
*
* @param importExcel Import Excel file name
*/
public void importPerson(String importExcel)
{
try{
File excelFile = new File(importExcel+".xls");
//Create a working file
Workbook workbook = Workbook.getWorkbook(excelFile);
// Get the first workbook. There are two ways to get the sheet. 1 is the name and the subscript starts from 0.
Sheet sheet = workbook.getSheet(0);
//Total number of records
int allRow = sheet.getRows();
int allColspan = sheet.getColumns();
System.out.println(allRow);
System.out.println(allColspan);
// Get data
for (int i=0; i<allRow; i++)
{
// Get the value of each column
for (int j=0; j<allColspan; j++)
{
// sheet.getCell(number of columns, number of rows);
Cell cell = sheet.getCell(j, i);
//Print out the value of this column
System.out.print(cell.getContents() + "/t");
}
System.out.println();
}
//closure
workbook.close();
}catch (Exception e) {
e.printStackTrace();
}
finally
{
System.out.println("Complete import operation");
}
}
/**
* @param args
*/
public static void main(String[] args) {
ExportExcel exportExcel = new ExportExcel();
//Set path
String srcPath = "C:/Quarantine/PersonVo";
//Export
// exportExcel.exportPerson(srcPath);
// read
exportExcel.importPerson(srcPath);
}
}