當前位置:首頁 » 編程語言 » javaword

javaword

發布時間: 2022-02-12 00:58:39

㈠ 如何用java生成word

jacob,相關資料你可以去查找看看

㈡ 使用java如何直接往word文件中寫入內容最好有詳細的介紹和源代碼

用流就可以啊,不過要設置好編碼格式,否則寫進去的全是亂碼

㈢ java操作word 的有哪幾種方式

java讀取word文檔時,雖然網上介紹了很多插件poi、java2Word、jacob、itext等等,poi無法讀取格式(新的API估
計行好像還在處於研發階段,不太穩定,做項目不太敢用);java2Word、jacob容易報錯找不到注冊,比較詭異,我曾經在不同的機器上試過,操作
方法完全一致,有的機器不報錯,有的報錯,去他們論壇找高人解決也說不出原因,項目部署用它有點玄;itxt好像寫很方便但是我查了好久資料沒有見到過關
於讀的好辦法。經過一番選擇還是折中點採用rtf最好,畢竟rtf是開源格式,不需要藉助任何插件,只需基本IO操作外加編碼轉換即可。rtf格式文件表
面看來和doc沒啥區別,都可以用word打開,各種格式都可以設定。

----- 實現的功能:讀取rtf模板內容(格式和文本內容),替換變化部分,形成新的rtf文檔。

----- 實現思路:模板中固定部分手動輸入,變化的部分用$info$表示,只需替換$info$即可。

1、採用位元組的形式讀取rtf模板內容

2、將可變的內容字元串轉為rtf編碼

3、替換原文中的可變部分,形成新的rtf文檔

主要程序如下:

public String bin2hex(String bin) {

char[] digital = "0123456789ABCDEF".toCharArray();

StringBuffer sb = new StringBuffer("");

byte[] bs = bin.getBytes();

int bit;

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

bit = (bs[i] & 0x0f0)
>> 4;

sb.append("\\'");

sb.append(digital[bit]);

bit = bs[i] & 0x0f;

sb.append(digital[bit]);

}

return sb.toString();

}

public String readByteRtf(InputStream ins, String path){

String sourcecontent =
"";

try{

ins = new
FileInputStream(path);

byte[] b
= new byte[1024];

if (ins == null) {

System.out.println("源模板文件不存在");

}

int bytesRead = 0;

while (true) {

bytesRead = ins.read(b, 0, 1024); // return final read bytes
counts

if(bytesRead == -1) {// end of InputStream

System.out.println("讀取模板文件結束");

break;

}

sourcecontent += new String(b, 0, bytesRead); // convert to string
using bytes

}

}catch(Exception e){

e.printStackTrace();

}

㈣ 在Java中如何實現word的插入功能

你所謂的插入word是將整個word文檔插入資料庫還是??
還是先生成word文檔 再插入數據
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import oracle.sql.BLOB;

public class OracleBlob {
private DBstep.iDBManager2000 DbaObj ;
private File file = null;

public OracleBlob() {
DbaObj=new DBstep.iDBManager2000(); //創建資料庫對象
}

public void insert(String infile) throws Exception {
FileInputStream fis = null;
int iFileId = -1;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
//生成隨機碼
java.util.Date dt=new java.util.Date();
long lg=dt.getTime();
Long ld=new Long(lg);
String mRecordID=ld.toString();
file = new File(infile);
fis = new FileInputStream(file);
//得到資料庫
iFileId = DbaObj.GetMaxID("INFO_DOCUMENT_FILE","FileId");
if (DbaObj.OpenConnection()) {
DbaObj.Conn.setAutoCommit(false);
String sql="insert into INFO_DOCUMENT_FILE(FileID,RecordID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) values (?,?,?,?,?,?,empty_blob(),?,?,? )";
pstmt = DbaObj.Conn.prepareStatement(sql);
pstmt.setInt(1, iFileId);
pstmt.setString(2, mRecordID);
pstmt.setString(3, mRecordID+".doc");
pstmt.setString(4, "doc");
pstmt.setLong(5,file.length());
pstmt.setDate(6, DbaObj.GetDate());
pstmt.setString(7, "");
pstmt.setString(8, "");
pstmt.setString(9, "測試通用版本=="); // "通用版本"
pstmt.executeUpdate();
pstmt = DbaObj.Conn.prepareStatement("select FileBody,FileSize from INFO_DOCUMENT_FILE where RecordID='"+mRecordID+"' for update");
rs = pstmt.executeQuery();
while (rs.next()) {
oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("FileBody");
OutputStream os = blob.getBinaryOutputStream();
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buf = new byte[rs.getInt("FileSize")];
int len = 0;
if ((len = bis.read(buf)) != -1) {
os.write(buf, 0, len);
os.flush();
}
os.close();
bis.close();
}
DbaObj.Conn.commit();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {

e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
fis.close();
DbaObj.CloseConnection();
}
}

public void readDoc(String outfile,String id)throws Exception{
FileOutputStream fos = null;
InputStream is = null;
String Sql = "SELECT FileBody,FileSize FROM info_document_file WHERE RecordID='" + id + "'";
try {
if (DbaObj.OpenConnection()) {

try {
ResultSet result = DbaObj.ExecuteQuery(Sql);
if (result.next()) {
try {
int fileSize=result.getInt("FileSize");
Blob blob=result.getBlob("FileBody");
file = new File(outfile);
if(!file.exists())
{
file.createNewFile();//如果文件不存在,則創建
}
fos = new FileOutputStream(file);
is = blob.getBinaryStream();// 讀出數據後轉換為二進制流
byte[] data = new byte[fileSize];
int size = 0;
while((size = is.read(data)) != -1)
{
fos.write(data,0,size);
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
result.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
finally
{
DbaObj.CloseConnection();
}
}

public static void main(String args[])
{
OracleBlob blob=new OracleBlob();
try {
blob.readDoc("c://test.doc", "1281088075378");
//blob.insert("c://信息處WebService介面文檔.doc");
} catch (Exception e) {
e.printStackTrace();
}
}
}

㈤ 使用java代碼下載word文件

我同事在做項目的時候也遇到這個問題,應該是插件本身生成的docx文件是xml格式的,有些版本的word打開是會有提示,如果沒有必要最好生成doc格式的word

㈥ 在Java中怎麼實現在線編輯Word

web開發語言操作word的功能最好還是專業的控制項,如果不想花錢可以使用SOAOFFICE綠色版

㈦ java怎麼導入word模板

我有jacbo操作word的大多基本方法。你留下郵箱我發給你。

㈧ 用java怎麼實現對word的在線編輯

WORD在線編輯的方案有幾種。
1)採用網頁插件,比如PageOffice,這種方案實際是調用本地Office進行編輯,確切的說是網頁編輯而非在線編輯。
2)採用微軟的OWA,這個是網頁版的Office,好處確實是Word,缺點是網頁版功能比本地版本弱,開發難以得到微軟的支持,坑很多,碰到了也不知道怎麼解決。
與之接近的是一起寫,石墨這樣的類Word編輯,這個就不是原生word格式,是格式轉換後的在線編輯。
3)採用UZER.ME的SDK,UZER.ME支持網頁內無插件使用各種原生應用,當然也包括Word,本地也無需安裝Office,全平台支持。缺點是需要伺服器資源較多。
在線編輯主要還是前端的活,主要用JavaScript做,當然,上面幾種方案後台用Java都是可以也是需要的。

㈨ java中的forword怎麼用的

request.forward 轉發
地址欄不變,客戶端伺服器交互2次,可以讀到前一個頁面里request里存的值

public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html; charset=gb2312");
ServletContext sc = getServletContext();
RequestDispatcher rd = null;
rd = sc.getRequestDispatcher("/index.jsp"); //定向的頁面
rd.forward(request, response);
}

熱點內容
解壓到當前文件夾右鍵 發布:2024-04-26 03:57:08 瀏覽:979
html5android教程視頻下載 發布:2024-04-26 03:09:59 瀏覽:867
伺服器的描述是什麼 發布:2024-04-26 03:08:32 瀏覽:394
個人加密 發布:2024-04-26 03:01:23 瀏覽:521
linuxusbgadget 發布:2024-04-26 02:52:54 瀏覽:304
我的世界空島世界伺服器地址 發布:2024-04-26 01:39:08 瀏覽:248
尼爾機械紀元加密 發布:2024-04-26 01:37:11 瀏覽:868
在控制台輸出sql語句 發布:2024-04-26 01:08:12 瀏覽:432
動畫java 發布:2024-04-26 01:02:40 瀏覽:12
得力文件夾5302 發布:2024-04-26 00:21:32 瀏覽:91