java通过url在线预览Word、excel、ppt、pdf、txt文档____
java通过url在线预览Word、excel、ppt、pdf、txt文档中的内容【只获得其中的文字】
分类: 毕业设计的问题学习 2011-04-01 18:43 阅读(273) 评论(2) 收藏 举报 在页面上显示各种文档中的内容。在servlet中的逻辑
word:?
BufferedInputStream bis = null;??URL url = null;??HttpURLConnection httpUrl = null; // 建立链接??url = new URL(urlReal);??httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源??httpUrl.connect();// 获取网络输入流??bis = new BufferedInputStream(httpUrl.getInputStream());
??String bodyText = null;??WordExtractor ex = new WordExtractor(bis);??bodyText = ex.getText();??response.getWriter().write(bodyText);
excel:
BufferedInputStream bis = null;??URL url = null;??HttpURLConnection httpUrl = null; // 建立链接??url = new URL(urlReal);??httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源??httpUrl.connect();// 获取网络输入流??bis = new BufferedInputStream(httpUrl.getInputStream());??
content = new StringBuffer();??HSSFWorkbook workbook = new HSSFWorkbook(bis);??for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) {???HSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet???content.append("/n");???if (null == aSheet) {????continue;???}???for (int rowNum = 0; rowNum <= aSheet.getLastRowNum(); rowNum++) {????content.append("/n");????HSSFRow aRow = aSheet.getRow(rowNum);????if (null == aRow) {?????continue;????}????for (short cellNum = 0; cellNum <= aRow.getLastCellNum(); cellNum++) {?????HSSFCell aCell = aRow.getCell(cellNum);?????if (null == aCell) {??????continue;?????}?????if (aCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {??????content.append(aCell.getRichStringCellValue()????????.getString());?????} else if (aCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {??????boolean b = HSSFDateUtil.isCellDateFormatted(aCell);??????if (b) {???????Date date = aCell.getDateCellValue();???????SimpleDateFormat df = new SimpleDateFormat(?????????"yyyy-MM-dd");???????content.append(df.format(date));??????}?????}????}???}??}??response.getWriter().write(content.toString())