word文檔和二進制數(shù)據(jù)的轉(zhuǎn)換及相關(guān)問題探討
發(fā)布時間:2013-01-31 14:50:31 作者:佚名
我要評論

現(xiàn)在很多項目和技術(shù)支持在線編輯word文檔,接下來介紹將word文檔和二進制數(shù)據(jù)之間相互轉(zhuǎn)換的兩個方法總結(jié)如下,感興趣的朋友可以了解下啊,或許對你有所幫助
現(xiàn)在很多項目和技術(shù)支持在線編輯word文檔。有控件的和javascript操作的。這里簡單的推薦一個在線編輯word文檔的控件。
地址:http://www.dianju.cn/p/weboffice/
在這個控件中,word文檔的編輯很好用。但是這里面用到兩個方法。word文檔和數(shù)據(jù)庫保存的二進制之間的轉(zhuǎn)換問題。
現(xiàn)在將word文檔和二進制數(shù)據(jù)之間相互轉(zhuǎn)換的兩個方法總結(jié)如下
/// <summary>
/// 將二進制數(shù)據(jù)轉(zhuǎn)換為word文檔
/// </summary>
/// <param name="data">二進制數(shù)據(jù)可以直接存放在sql server數(shù)據(jù)庫中的數(shù)據(jù)</param>
/// <param name="fileName">文件名,即你要生成的word文檔的名稱。自己隨便定義一個字符串就行</param>
public void ByteConvertWord(byte[] data, string fileName)
{
string savePath = @"/Upload/"; //虛擬路徑,項目中的虛擬路徑。一般我們條用這個方法,肯定要把生成的word文檔保存在項目的一個文件夾下,以備后續(xù)使用
string path = Server.MapPath(savePath); //把相應(yīng)的虛擬路徑轉(zhuǎn)換成物理路徑
if (!System.IO.Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
savePath += fileName + DateTime.Now.ToString().Replace("-", "").Replace(" ", "").Replace(":", "") + Guid.NewGuid().ToString() + ".doc";
string filePath = Server.MapPath(savePath);
FileStream fs;
if (System.IO.File.Exists(filePath))
{
fs = new FileStream(filePath, FileMode.Truncate);
}
else
{
fs = new FileStream(filePath, FileMode.CreateNew);
}
BinaryWriter br = new BinaryWriter(fs);
br.Write(data, 0, data.Length);
br.Close();
fs.Close();
}
以下介紹word文檔轉(zhuǎn)換為二進制數(shù)據(jù)的方法。
/// <summary>
/// word文件轉(zhuǎn)換二進制數(shù)據(jù)(用于保存數(shù)據(jù)庫)
/// </summary>
/// <param name="wordPath">word文件路徑</param>
/// <returns>二進制</returns>
private byte[] wordConvertByte(string wordPath)
{
byte[] bytContent = null;
System.IO.FileStream fs = null;
System.IO.BinaryReader br = null;
try
{
fs = new FileStream(wordPath, System.IO.FileMode.Open);
}
catch
{
}
br = new BinaryReader((Stream)fs);
bytContent = br.ReadBytes((Int32)fs.Length);
return bytContent;
}
地址:http://www.dianju.cn/p/weboffice/
在這個控件中,word文檔的編輯很好用。但是這里面用到兩個方法。word文檔和數(shù)據(jù)庫保存的二進制之間的轉(zhuǎn)換問題。
現(xiàn)在將word文檔和二進制數(shù)據(jù)之間相互轉(zhuǎn)換的兩個方法總結(jié)如下
復(fù)制代碼
代碼如下:/// <summary>
/// 將二進制數(shù)據(jù)轉(zhuǎn)換為word文檔
/// </summary>
/// <param name="data">二進制數(shù)據(jù)可以直接存放在sql server數(shù)據(jù)庫中的數(shù)據(jù)</param>
/// <param name="fileName">文件名,即你要生成的word文檔的名稱。自己隨便定義一個字符串就行</param>
public void ByteConvertWord(byte[] data, string fileName)
{
string savePath = @"/Upload/"; //虛擬路徑,項目中的虛擬路徑。一般我們條用這個方法,肯定要把生成的word文檔保存在項目的一個文件夾下,以備后續(xù)使用
string path = Server.MapPath(savePath); //把相應(yīng)的虛擬路徑轉(zhuǎn)換成物理路徑
if (!System.IO.Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
savePath += fileName + DateTime.Now.ToString().Replace("-", "").Replace(" ", "").Replace(":", "") + Guid.NewGuid().ToString() + ".doc";
string filePath = Server.MapPath(savePath);
FileStream fs;
if (System.IO.File.Exists(filePath))
{
fs = new FileStream(filePath, FileMode.Truncate);
}
else
{
fs = new FileStream(filePath, FileMode.CreateNew);
}
BinaryWriter br = new BinaryWriter(fs);
br.Write(data, 0, data.Length);
br.Close();
fs.Close();
}
以下介紹word文檔轉(zhuǎn)換為二進制數(shù)據(jù)的方法。
復(fù)制代碼
代碼如下:/// <summary>
/// word文件轉(zhuǎn)換二進制數(shù)據(jù)(用于保存數(shù)據(jù)庫)
/// </summary>
/// <param name="wordPath">word文件路徑</param>
/// <returns>二進制</returns>
private byte[] wordConvertByte(string wordPath)
{
byte[] bytContent = null;
System.IO.FileStream fs = null;
System.IO.BinaryReader br = null;
try
{
fs = new FileStream(wordPath, System.IO.FileMode.Open);
}
catch
{
}
br = new BinaryReader((Stream)fs);
bytContent = br.ReadBytes((Int32)fs.Length);
return bytContent;
}
相關(guān)文章
word怎么單獨導(dǎo)出一頁? word導(dǎo)出部分頁的技巧
在編輯Word文檔時,有時我們只需要導(dǎo)出其中的部分頁面,而不是整個文檔,下面將介紹如何在Word中導(dǎo)出部分頁面2025-04-14問卷星怎么轉(zhuǎn)換成word文檔? 問卷星問卷調(diào)查導(dǎo)出成word的技巧
在日常工作中,我們經(jīng)常需要將問卷星上的問卷內(nèi)容導(dǎo)出為Word格式,以便整理和分析數(shù)據(jù),以下是三種簡單的操作方法2025-04-14word文檔一整頁怎么截屏? word文檔截圖截一張全的圖片技巧
在Word文檔中想將一整頁截屏下來,可以通過使用鍵盤中的Print Screen鍵和Word自帶的截屏功能等多種方法截圖,詳細如下2025-04-14word開發(fā)工具怎么調(diào)出來? word工具欄添加開發(fā)工具的教程
許多用戶在使用Word時,可能會發(fā)現(xiàn)菜單欄中缺少了“開發(fā)者工具”這一重要選項,這無疑限制了Word的某些高級功能應(yīng)用,詳細請看下文介紹2025-04-14Word文本框中的數(shù)字和英文字母如何進行豎排? word文檔排版技巧
用Word進行排版成為我們辦公中的主要方式,偶爾我們也可能會讓文字豎著排版,讓文字豎著排版我們都知道怎么操作,但是如何讓英文字母和數(shù)字也縱向顯示呢?詳細請看下文介紹2025-03-25word文本框怎么對齊? word多個文本框快速批量對齊的技巧
word中有很多文本框,排列很亂,想要將所有文本框?qū)R,該怎么操作呢?下面我們就來看看詳細的教程2025-03-21word分欄后如何設(shè)置頁碼? Word同一頁分欄后的文本分別設(shè)置頁碼技巧
在使用Word進行文檔排版時,經(jīng)常需要將文檔分欄,并且希望每欄都有不同的頁碼,這種效果在Word默認的頁碼樣式中并不存在,需要通過手動插入域來實現(xiàn),以下是詳細步驟2025-03-13word多級列表怎么修改編號? Word多級列表各級編號格式批量修改技巧
編輯Word長文檔時,為了讓文本之間具有層次性,編號的使用必不可少,那么,對于編號,你會使用了嗎?詳細如下2025-03-13Word頁面版式設(shè)置:Word創(chuàng)建多級列表常見問題解決辦法
你是否在設(shè)置多級列表時遇到了編號問題?今天來分享創(chuàng)建多級列表的常見問題,別擔(dān)心,這里為你提供全面的解決方案2025-03-13word文檔怎么鎖定排版? 輕松鎖定你的精心布局防止排版錯亂
在 Word 文檔中鎖定排版,防止他人隨意更改格式,可嘗試以下兩種方法,輕松鎖定你的精心布局,詳細如下文所屬2025-03-11