博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java poi预览word文档_apache poi操作office文档----java在线预览txt、word、ppt、execel,pdf代码...
阅读量:5149 次
发布时间:2019-06-13

本文共 3563 字,大约阅读时间需要 11 分钟。

在页面上显示各种文档中的内容。在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());

ppt:

BufferedInputStream bis = null;

URL url = null;

HttpURLConnection httpUrl = null; // 建立链接

url = new URL(urlReal);

httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源

httpUrl.connect();// 获取网络输入流

bis = new BufferedInputStream(httpUrl.getInputStream());

StringBuffer content = new StringBuffer("");

SlideShow ss = new SlideShow(new HSLFSlideShow(bis));

Slide[] slides = ss.getSlides();

for (int i = 0; i < slides.length; i++) {

TextRun[] t = slides[i].getTextRuns();

for (int j = 0; j < t.length; j++) {

content.append(t[j].getText());

}

content.append(slides[i].getTitle());

}

response.getWriter().write(content.toString());

pdf:

BufferedInputStream bis = null;

URL url = null;

HttpURLConnection httpUrl = null; // 建立链接

url = new URL(urlReal);

httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源

httpUrl.connect();// 获取网络输入流

bis = new BufferedInputStream(httpUrl.getInputStream());

PDDocument pdfdocument = null;

PDFParser parser = new PDFParser(bis);

parser.parse();

pdfdocument = parser.getPDDocument();

ByteArrayOutputStream out = new ByteArrayOutputStream();

OutputStreamWriter writer = new OutputStreamWriter(out);

PDFTextStripper stripper = new PDFTextStripper();

stripper.writeText(pdfdocument.getDocument(), writer);

writer.close();

byte[] contents = out.toByteArray();

String ts = new String(contents);

response.getWriter().write(ts);

txt:

BufferedReader bis = null;

URL url = null;

HttpURLConnection httpUrl = null; // 建立链接

url = new URL(urlReal);

httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源

httpUrl.connect();// 获取网络输入流

bis = new BufferedReader( new InputStreamReader(httpUrl.getInputStream()));

StringBuffer buf=new StringBuffer();

String temp;

while ((temp = bis.readLine()) != null) {

buf.append(temp);

response.getWriter().write(temp);

if(buf.length()>=1000){

break;

}

}

bis.close();

————————————————

转载地址:http://vodnv.baihongyu.com/

你可能感兴趣的文章
parted分区
查看>>
图片标签img
查看>>
表哥的Access入门++以Excel视角快速学习数据库知识pdf
查看>>
TC 配置插件
查看>>
关于异步reset
查看>>
索引优先队列的工作原理与简易实现
查看>>
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
01: socket模块
查看>>
mysql触发器
查看>>
淌淌淌
查看>>
web页面实现指定区域打印功能
查看>>
win10每次开机都显示“你的硬件设置已更改,请重启电脑……”的解决办法
查看>>
macOS10.12允许所有来源设置
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
python搜索引擎(转)
查看>>
关于height,line-height导致的样式混乱的问题
查看>>
《SEO实战密码》读后一点感受
查看>>
bzoj 4815 [Cqoi2017]小Q的表格——反演+分块
查看>>
Swift 入门之简单语法(六)
查看>>