protected void fileInput()
{
String path = "";
JFileChooser fDialog = new JFileChooser();
fDialog.setApproveButtonText("确定");
fDialog.setDialogTitle("选择文件");
fDialog.setFileFilter(new FileFilter()
{
@Override
public boolean accept(File file)
{
return file.getName().endsWith(".xls");
}
@Override
public String getDescription()
{
return "Microsoft Office EXCEL 工作簿(*.xls)";
}
});
int result = fDialog.showSaveDialog(getCurrentView());
if (result == JFileChooser.APPROVE_OPTION)
{
getCurrentView().getBox().clear();
path = fDialog.getSelectedFile().getPath();
getCurrentView().getInputTFS().setAttrValue(
fDialog.getSelectedFile().getName());
LogHome.getLog().info(path);
try
{
Page page = new Page();
//最大查询1w条记录
page.setPageSize(this.MAXPAGESIZE);
List<String> strList = getPortOtherList(path);
clearSeq();
page = QueryController.getDeviceQueryBo()
.findAsgn(
new Page(getCurrentView().getTablePanel()
.getPageSize()), strList, new ClientSecuDataObj());
//Page page = InterfaceController.getPortOtherBo().batchFileImport(getCurrentView().getPortOtherQueryPanel().getTableContainer().getPage(), getPortOtherList(path));
if (page != null && null != page.getList()
&& page.getList().size() != 0)
{
setPageSize(page);
this.getCurrentView().getTablePanel().setPage(page);
COptionPane.showMessageDialog(getCurrentView(), "导入成功!");
}
}
catch (Exception e)
{
e.printStackTrace();
COptionPane.showMessageDialog(getCurrentView(), "导入异常!");
}
}
}
private List getPortOtherList(String filePath) {
List list = new ArrayList();
try {
InputStream is = new FileInputStream(filePath);
Workbook rwb = Workbook.getWorkbook(is);
Sheet sheet = rwb.getSheet(0);
// 获取总列数
int rsColumns = sheet.getColumns();
// 获取总行数
int rsRows = sheet.getRows();
int startRows = 1;
while (startRows < rsRows) {
List infoList = new ArrayList();
for (int i = 1; i < rsColumns; i++) {
// getCell(x,y) 表示excel中的第y行的第x列
Cell tmp = sheet.getCell(i, startRows);
infoList.add(tmp.getContents());
}
startRows++;
}
} catch (Exception e) {
e.printStackTrace();
}
return infoList;
}