如何用POI导出Excel的同时导出到可选的地方类似下载的那种(可选择名字与保存路径)我用的struts2的框架
代码我贴出来,求高手指导下,能帮忙修改下最好了。我qq532761887我这个只能保存到客户端本地D盘,我想要客户可以自己选择的那种。代码:publicStringexp...
代码我贴出来,求高手指导下,能帮忙修改下最好了。我qq 532761887
我这个只能保存到客户端本地D盘,我想要客户可以自己选择的那种。
代码:
public String exportAll() throws IOException
{
// 创建一个EXCEL
HSSFWorkbook wb = new HSSFWorkbook();
// 创建一个SHEET
HSSFSheet sheet1 = wb.createSheet("短信明细");
sheet1.setColumnWidth(0, 6000);
sheet1.setColumnWidth(1, 4000);
sheet1.setColumnWidth(2, 6000);
int i = 0;
int z =1;
// 创建一行
HSSFRow row = sheet1.createRow((short) 0);
row.setHeight((short) 400);
HSSFCellStyle style = wb.createCellStyle();
HSSFCell cell = row.createCell(0);
//第一行第一个单元格
cell = row.createCell(0);
cell.setCellValue("身份证号码*");
//第一行第二个单元格
cell = row.createCell(1);
cell.setCellValue("姓名*");
//第一行第三单元格
cell = row.createCell(2);
cell.setCellValue("卡号*");
try
{
if(tr6182Out.getToidList().size()!=0)
{
for(Transaction6182OutIntDetails tr6182Ord:tr6182Out.getToidList())
{
HSSFRow row1 = sheet1.createRow((short) z);
row1.createCell(0).setCellValue(tr6182Ord.getIdNo());
row1.createCell(1).setCellValue(tr6182Ord.getCustName());
row1.createCell(2).setCellValue(tr6182Ord.getDebitCardNo());
z++;
}
}
try
{
File newFile = new File("D:/短信导出文件夹");
if (!newFile.exists())
{
newFile.mkdirs();
}
String nowDate = App.getCurrentDate();
FileOutputStream fileOut = new FileOutputStream("d:\\短信导出文件夹\\短信导出"+nowDate+".xls");
wb.write(fileOut);
fileOut.close();
}
return Values.SUCCESS;
} 展开
我这个只能保存到客户端本地D盘,我想要客户可以自己选择的那种。
代码:
public String exportAll() throws IOException
{
// 创建一个EXCEL
HSSFWorkbook wb = new HSSFWorkbook();
// 创建一个SHEET
HSSFSheet sheet1 = wb.createSheet("短信明细");
sheet1.setColumnWidth(0, 6000);
sheet1.setColumnWidth(1, 4000);
sheet1.setColumnWidth(2, 6000);
int i = 0;
int z =1;
// 创建一行
HSSFRow row = sheet1.createRow((short) 0);
row.setHeight((short) 400);
HSSFCellStyle style = wb.createCellStyle();
HSSFCell cell = row.createCell(0);
//第一行第一个单元格
cell = row.createCell(0);
cell.setCellValue("身份证号码*");
//第一行第二个单元格
cell = row.createCell(1);
cell.setCellValue("姓名*");
//第一行第三单元格
cell = row.createCell(2);
cell.setCellValue("卡号*");
try
{
if(tr6182Out.getToidList().size()!=0)
{
for(Transaction6182OutIntDetails tr6182Ord:tr6182Out.getToidList())
{
HSSFRow row1 = sheet1.createRow((short) z);
row1.createCell(0).setCellValue(tr6182Ord.getIdNo());
row1.createCell(1).setCellValue(tr6182Ord.getCustName());
row1.createCell(2).setCellValue(tr6182Ord.getDebitCardNo());
z++;
}
}
try
{
File newFile = new File("D:/短信导出文件夹");
if (!newFile.exists())
{
newFile.mkdirs();
}
String nowDate = App.getCurrentDate();
FileOutputStream fileOut = new FileOutputStream("d:\\短信导出文件夹\\短信导出"+nowDate+".xls");
wb.write(fileOut);
fileOut.close();
}
return Values.SUCCESS;
} 展开
2个回答
展开全部
你这个本质是java IO操作,不是POI. writte的参数是字节流,是java io 最根上的类了-你只要构造一个字节流就行。write(java.io.OutputStream stream)
FileOutputStream 文件字节流,是可以通过File对象直接构造的。你可以将File对象作为用户选择的变量,传到FileOutputStream就OK了。
FileOutputStream 文件字节流,是可以通过File对象直接构造的。你可以将File对象作为用户选择的变量,传到FileOutputStream就OK了。
更多追问追答
追问
能不能帮我写一个简单的例子,这么说我不是很懂。我刚开始学这个东西。
谢谢了。
追答
你在用struts2怎么连io都不会?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询