Exl转换成html的方法_html/css_WEB-ITnose
此方法采用了一个插件:jacob-1.15-M4,这个插件可以将office转换成html,在此我只介绍了一种,将Exl转换成html,转换后的html中有的border线为0.5px,在有的浏览器中不识别0.5px的border线,需要将生成的css中的0.5px,转换成1px,在系统中如果需要多次转换的话建议写一个单例模式,否则的话转换几次之后你电脑的内存就被撑爆了,原因很简单,就是每一次转换都会启动一次Exl程序,启动的多了系统内存就沾满了,所以,建议还是写成单例模式,废话不多说,直接贴代码:
插件需要下载的可以点击此处下载:http://download.csdn.net/detail/s592652578/8446163
package com.odon.common.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public classExlToHtm {
//单例模式
private static ExlToHtm exlToHtm=null;
public static ExlToHtm getExlToHtm(){
if(exlToHtm==null)
exlToHtm=new ExlToHtm();
return exlToHtm;
}
public static final int EXCEL_HTML = 44;
public static final ActiveXComponent app = new ActiveXComponent("Excel.Application");// 启动exl
/**
* EXCEL转HTML
* @param xlsfile EXCEL文件全路径
* @param htmlfile 转换后HTML存放路径
*/
public synchronized void excelToHtml(String xlsfile, Stringhtmlfile){
// ActiveXComponentapp = new ActiveXComponent("Excel.Application"); // 启动exl
try {
app.setProperty("Visible",newVariant(false));
Dispatchexcels = app.getProperty("Workbooks").toDispatch();
Dispatchexcel = Dispatch.invoke(
excels,
"Open",
Dispatch.Method,
new Object[] { xlsfile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
Dispatch.invoke(excel,"SaveAs",Dispatch.Method,newObject[] {
htmlfile,newVariant(EXCEL_HTML)}, newint[1]);
Variantf = newVariant(false);
Dispatch.call(excel,"Close",f);
}catch (Exception e){
e.printStackTrace();
}finally{
app.invoke("Quit", new Variant[] {});
}
}
/**
* 修改css样式
* @param filePath
* @param cssPath
*/
public static void readCss(StringfilePath,String cssPath) {
BufferedReaderbr = null;
Stringline = null;
StringBufferbuf = newStringBuffer();
Stringcontent = null;
Filetxt=newFile(cssPath);
FileOutputStreamfos = null;
try {
fos= newFileOutputStream(txt);
// 根据文件路径创建缓冲输入流
br= newBufferedReader(newFileReader(filePath));
// 循环读取文件的每一行, 对需要修改的行进行修改, 放入缓冲对象中
while ((line = br.readLine())!= null){
// 此处根据实际需要修改某些行的内容
if(line.indexOf(":.5pt")>-1){
line= line.replace(":.5pt", ":1pt");
line= line + "\r";
}
buf.append(line);
}
//判断文件是否存在
if(!txt.exists()){
txt.createNewFile();
}
content= buf.toString();
byte bytes[]=new byte[1024];
bytes=content.getBytes(); //新加的
intb=content.length(); //改
fos.write(bytes,0,b);
}catch(Exception e) {
e.printStackTrace();
}finally{
// 关闭流
if (br != null) {
try {
br.close();
}catch(IOException e) {
br= null;
}
}
if( fos != null){
try {
fos.close();
}catch(Exception e2) {
e2.printStackTrace();
}
}
}
}
}

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.
