次のようにコードをコピーします。
パッケージexport.excel;
インポートjava.io.BufferedInputStream;
インポート java.io.BufferedOutputStream;
java.io.ファイルをインポートします。
java.io.FileInputStreamをインポートします。
java.io.FileOutputStreamをインポートします。
java.io.OutputStreamをインポートします。
java.util.ArrayListをインポートします。
java.util.Listをインポートします。
java.util.Randomをインポートします。
jxl.Cell をインポートします。
jxl.Sheetをインポートします。
jxl.Workbook をインポートします。
jxl.format.Alignment をインポートします。
jxl.format.VerticalAlignment をインポートします。
jxl.write.Label をインポートします。
jxl.write.WritableCellFormat をインポートします。
jxl.write.WritableSheetをインポートします。
jxl.write.WritableWorkbook をインポートします。
インポートエクスポート.vo.PersonVo;
/**Excel ファイルをエクスポート
*
* @作者通行人A
*
*/
パブリック クラス ExportExcel {
public List<PersonVo> personVolList;
publicExportExcel()
{
initdata();
}
/**
※初期化データ
*/
public void initdata()
{
// ランダム関数
ランダム ランダム = new Random();
personVoList = 新しい ArrayList<PersonVo>();
// 100 人をコレクションに初期化します
人物Vo人物Vo = null;
for (int i = 0; i < 100; i++)
{
personVo = 新しい PersonVo();
personVo.setId("" + i);
personVo.setName("通行人" + i);
if (i%2==0)
{
personVo.setSex("男性");
}
それ以外
{
personVo.setSex("女性");
}
// 100 歳以内のランダムな年齢を取得します
personVo.setAge("" +random.nextInt(100));
personVoList.add(personVo);
}
}
/** データを Excel 形式でエクスポートする
* exportName エクスポート ファイル名
* @param エクスポート名
*/
public void exportperson(String exportName)
{
試す{
ファイル ExcelFile = 新しいファイル(エクスポート名 + "Temp.xls");
// ファイル形式
WritableCellFormat 形式 = 新しい WritableCellFormat();
// 左に×
format.setAlignment(Alignment.RIGHT);
// 上に
format.setVerticalAlignment(VerticalAlignment.TOP);
//作業ファイルを作成する
WritableWorkbook writableWorkbook = Workbook.createWorkbook(excelFile);
// ワークブックを作成する
WritableSheetsheet1 = writableWorkbook.createSheet("個人情報リスト", 0);
//行数を作成し、行の幅を設定します
sheet1.setColumnView(0, 10);
sheet1.setColumnView(1, 10);
sheet1.setColumnView(2, 10);
sheet1.setColumnView(3, 10);
//行の値を設定します
Sheet1.addCell(new Label(0, 0, "ID", format));
Sheet1.addCell(new Label(1, 0, "名前", format));
Sheet1.addCell(new Label(2, 0, "性別", format));
Sheet1.addCell(new Label(3, 0, "年齢", format));
// コレクションを Excel に書き込みます
int rowNum = 1;
for (personVo Bean : personVoList)
{
intcolspanNum = 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));
行番号++;
}
writeableWorkbook.write();
writeableWorkbook.close();
// インターネットからダウンロードした場合は、次のように記述します
// 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 = 新しい FileInputStream(excelFile);
// OutputStream 出力 = super.getHttpServletResponse().getOutputStream();
ファイル fout = 新しいファイル(エクスポート名 + ".xls");
OutputStream 出力 = 新しい FileOutputStream(fout);
BufferedInputStream buffin = new BufferedInputStream(finput);
BufferedOutputStream buffout = 新しい BufferedOutputStream(出力);
byte[] バッファ = 新しいバイト [4096];
int カウント = 0;
while ((count = buffin.read(buffer, 0,buffer.length)) > 0) {
buffout.write(バッファ, 0, カウント);
}
buffin.close();
buffout.close();
finput.close();
出力.close();
ExcelFile.delete();
}
catch (例外 e) {
e.printStackTrace();
}
ついに
{
System.out.println("エクスポート操作を完了しました");
}
}
/**インポートされたデータは Excel 形式でエクスポートされます
*
* @param importExcel インポート Excel ファイル名
*/
public void importperson(String importExcel)
{
試す{
ファイルexcelFile = new File(importExcel+".xls");
//作業ファイルを作成する
ワークブック workbook = Workbook.getWorkbook(excelFile);
// 最初のワークブックを取得する シートを取得するには 2 つの方法があります。1 は名前であり、添え字は 0 から始まります。
シートsheet = workbook.getSheet(0);
// 総レコード数
int allRow =sheet.getRows();
int allColspan =sheet.getColumns();
System.out.println(allRow);
System.out.println(allColspan);
// データを取得する
for (int i=0; i<allRow; i++)
{
// 各列の値を取得します
for (int j=0; j<allColspan; j++)
{
//sheet.getCell(列数, 行数);
セル cell =sheet.getCell(j, i);
// この列の値を出力します
System.out.print(cell.getContents() + "/t");
}
System.out.println();
}
//閉鎖
workbook.close();
}catch (例外 e) {
e.printStackTrace();
}
ついに
{
System.out.println("インポート操作を完了しました");
}
}
/**
* @param 引数
*/
public static void main(String[] args) {
ExportExcelexportExcel = new ExportExcel();
//パスを設定する
文字列 srcPath = "C:/Quarantine/personVo";
//輸出
//exportExcel.exportperson(srcPath);
// 読む
エクスポートエクセル.インポートパーソン(srcPath);
}
}