java结果集给文本框_将结果集导出到java中的带有对话框的文本文件中

我有一个结果集,我必须将结果集中可用的所有数据写入文本文件,并将其填充到用户进行下载。

我已经做了下面的代码导出到Excel使用poi,相同的方式如何做文本文件。

if(exportTo.equals("excel"))

{

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

response.setHeader("Content-disposition", "attachment; filename=\"" + reportName + ".xls\"");

try {

HSSFWorkbook hwb = new HSSFWorkbook();

HSSFSheet sheet = hwb.createSheet(reportName);

HSSFRow row = null;

HSSFHeader header = sheet.getHeader();

header.setCenter("POC");

header.setLeft("POC");

header.setRight(HSSFHeader.font("Stencil-Normal", "Italic") +

HSSFHeader.fontSize((short) 16) + reportName);

//to add water mark

/*HSSFPatriarch dp = sheet.createDrawingPatriarch();

HSSFClientAnchor anchor = new HSSFClientAnchor

(0, 0, 1023, 255, (short) 2, 4, (short) 13, 26);

HSSFTextbox txtbox = dp.createTextbox(anchor);

HSSFRichTextString rtxt = new HSSFRichTextString("POC");

HSSFFont draftFont = hwb.createFont();

draftFont.setColor((short) 27);

draftFont.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);

draftFont.setFontHeightInPoints((short) 192);

draftFont.setFontName("Verdana");

rtxt.applyFont(draftFont);

txtbox.setString(rtxt);

txtbox.setLineStyle(HSSFShape.LINESTYLE_NONE);

txtbox.setNoFill(true);*/

HSSFCellStyle style = hwb.createCellStyle();

style.setBorderTop((short) 6); // double lines border

style.setBorderBottom((short) 1); // single line border

style.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);

HSSFFont font = hwb.createFont();

font.setBoldweight((short) 700);

// Create Styles for sheet.

HSSFCellStyle headerStyle = hwb.createCellStyle();

headerStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);

headerStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

headerStyle.setFont(font);

headerStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);

headerStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);

headerStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);

headerStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);

headerStyle.setAlignment((short) 2);

// create Title for the sheet

HSSFCellStyle titleStyle = hwb.createCellStyle();

HSSFFont titleFont = hwb.createFont();

titleFont.setFontName(HSSFFont.FONT_ARIAL);

titleFont.setFontHeightInPoints((short) 15);

titleFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

titleFont.setColor(HSSFColor.BLUE.index);

titleStyle.setFont(titleFont);

titleStyle.setAlignment((short)2);

row = sheet.createRow((short)1);

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

secondCell.setCellValue(new HSSFRichTextString(reportName).toString());

secondCell.setCellStyle(titleStyle);

sheet.addMergedRegion(new Region(1, (short)0, 1, (short)headerCount));

int sno=0;

HSSFRow rowhead = sheet.createRow((short)4);

for (Iterator it = headerMap.keySet().iterator(); it.hasNext();) {

String headerName = (String) headerMap.get(it.next());

HSSFCell headerCell = rowhead.createCell((short)sno);

headerCell.setCellStyle(headerStyle);

headerCell.setCellValue(headerName);

sno++;

}

HSSFCellStyle rowStyle=hwb.createCellStyle();

rowStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);

rowStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);

rowStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);

rowStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);

rowStyle.setAlignment((short) 2);

row = custDAO.creadExcelTable(query, sheet, row,rowStyle);

hwb.write(response.getOutputStream());

response.flushBuffer();

} catch (Exception ex) {

ex.printStackTrace();

}

}

public HSSFRow creadExcelTable(String query,HSSFSheet sheet,HSSFRow row,HSSFCellStyle rowStyle ){

int numberOfColumns=0,sno=0,index=5,iterator=1;

Connection connection = getConnection();

if (connection != null) {

try {

PreparedStatement reportTablePS = connection.prepareStatement(query);

ResultSet reportTable_rst = reportTablePS.executeQuery();

ResultSetMetaData reportTable_rsmd = reportTable_rst.getMetaData();

numberOfColumns = reportTable_rsmd.getColumnCount();

int i =0;

while (reportTable_rst.next()) {

row = sheet.createRow((short)index);

sheet.setColumnWidth((short)index, (short)100);

/* if(i == 0){

i = 1;

rowStyle.setFillForegroundColor(HSSFColor.BLUE_GREY.index);

rowStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

System.out.println("BLUE_GREY");

}

else {

i = 0;

System.out.println("LEMON");

rowStyle.setFillForegroundColor(HSSFColor.LEMON_CHIFFON.index);

rowStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

}*/

HSSFCell serialCell = row.createCell((short)sno);

serialCell.setCellStyle(rowStyle);

serialCell.setCellValue(iterator);

for (int columnIterator = 1; columnIterator <= numberOfColumns; columnIterator++) {

String column = reportTable_rst.getString(columnIterator);

sheet.setColumnWidth((short)columnIterator, (short)3000);

HSSFCell rowCell = row.createCell((short)columnIterator);

rowCell.setCellStyle(rowStyle);

rowCell.setCellValue(column);

}

index++;

iterator++;

}

} catch (Exception ex) {

ex.printStackTrace();

}finally {

try {

closeConnection(connection, null, null);

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

return row;

}现在我已经完成了更新,真的不知道如何去做

if(exportTo.equals("text")){

response.setContentType("text/plain");

response.setHeader("Content-disposition", "attachment; filename=\"" + reportName + ".txt\"");

try {

} catch (Exception e) {

// TODO: handle exception

}

}这一个用于在指定位置创建文件

Writer writer = null;

try {

String text = "This is a text file";

File file = new File("write.txt");

writer = new BufferedWriter(new FileWriter(file));

writer.write(text);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if (writer != null) {

writer.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}但我想用对话框导出文件,请帮助我如何去做。

问候

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值