xhtml
介紹一github
介紹二網絡
寫入特殊符號工具
本身作一個工具,要導出Word的,當時剛開始想使用Xceed.Words.NET.dll第三方插件進行開發。測試
可是網絡上真的找不到太多相關資料來進行參考的好很差(不知道當初爲毛要選擇這個,據說很強大?)字體
而後搜到了中文資料比較多的一個第三方的插件:DocX.dll,據說也挺好用的。好吧就用它了,this
而且找到了Github地址(本文中第一個門),下載一個Demo下來(感受根據Demo調試生成下,通常操做徹底Ok了),spa
生成Word,修改一下,感受還不錯。接着問題來了...Word中要插入特殊符號,插件
/// <summary> /// 生成Word /// </summary> public byte[] GetWordByte() { byte[] bytes = null; try { List<string> list = new List<string>() { "我想要","生成","的數據。" }; if (list.Count > 0) { string rootFolderPath = System.Configuration.ConfigurationManager.AppSettings["UploadFileAddress"]; ;//跟文件夾路徑 int intUserID = XY.Global.XYRequestCache.RequestState.UserID; string folderPath = "C:\\TestPath\\Word\\"; string fileName = "\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "測試.docx"; string filePath = folderPath + fileName; XYFileSystem FileSystem = new XYFileSystem(); if (File.Exists(folderPath)) { System.IO.Directory.CreateDirectory(folderPath); } // Create a new document. using (DocX document = DocX.Create(filePath)) { // Add a title //document.InsertParagraph("Adding Custom Properties to a document").FontSize(15d).SpacingAfter(50d).Alignment = Alignment.center; foreach (var item in list) { double fontSize = 14d; Paragraph retPar = document.InsertParagraph().Font("宋體").FontSize(fontSize); retPar.Append(item).Font("宋體").FontSize(fontSize).AppendLine(); //特殊符號 //空心圓形 retPar.Append(string.Concat("\u25CB", "空心圓形A")).Font("宋體").FontSize(fontSize); retPar.Append(string.Concat("\u25CB", "空心圓形B")).Font("宋體").FontSize(fontSize); //空心方形 retPar.Append(string.Concat("\u25A1", "空心方形A")).Font("宋體").FontSize(fontSize);
//下面示例中的特殊符號
if ("男" == "男")//純屬YuLe...
{
retPar.Append("\u0052男\u00A3女").Font("Wingdings 2").FontSize(fontSize);//這裏設置字體類型
}
else
{
retPar.Append("\u0052女\u00A3男").Font("Wingdings 2").FontSize(fontSize);//這裏設置字體類型
} } document.AddFooters(); //要添加的頁腳,標識頁數 //偶數[2,4,6,8...]頁腳的樣式... // Add the page number in the even Footers. //document.Footers.Even.InsertParagraph("").Font("Times New Roman").FontSize(9).AppendPageNumber(PageNumberFormat.normal); var evenFooter = document.Footers.Even.InsertParagraph(); evenFooter.Font("Times New Roman").FontSize(9); evenFooter.Alignment = Alignment.center; document.Footers.Even.InsertParagraph(evenFooter).AppendPageNumber(PageNumberFormat.normal); //奇數[1,3,5,7...]頁腳的樣式... // Add the page number in the odd Footers. //document.Footers.Odd.InsertParagraph("").Font("Times New Roman").FontSize(9).AppendPageNumber(PageNumberFormat.normal); var oddFooter = document.Footers.Even.InsertParagraph(); oddFooter.Font("Times New Roman").FontSize(9); oddFooter.Alignment = Alignment.center; document.Footers.Odd.InsertParagraph(oddFooter).AppendPageNumber(PageNumberFormat.normal); // Save this document to disk. document.Save(); } #region 將文件轉換爲byte[] //if (!File.Exists(filePath)) return null; using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { try { byte[] buffur = new byte[fs.Length]; fs.Read(buffur, 0, (int)fs.Length); bytes = buffur; } catch (Exception) { return null; } finally { if (fs != null) { fs.Close(); } } } #endregion //清理痕跡,打掃磁盤戰場... File.Delete(filePath); } return bytes; } catch (Exception) { //DO sth ... } return bytes; }
這個絕對是,找了好長時間才找到!!!
直接複製原文了...
當咱們要在word中輸入選擇框和打鉤的選擇框,咱們能夠這樣:插入->符號->字體選擇「Wingdings 2」。裏面就有咱們須要的選擇框。
這裏咱們看到咱們須要的打鉤選擇框的,字體是Wingdings 2,而後16進制的字符代碼是0052,這樣咱們就能夠利用這個來實現咱們須要的字符
用以前一樣的模板可是咱們但願在性別這一欄採用選中框的方式展示效果,相似這樣的//請看上面的代碼...
一切都搞完了,回頭看了下DocX的GitHub主頁...
發現原來是一回事,可是免費的中文資料就還行,付費的真的不太好找...
"
DocX is the free, open source version of Xceed Words for .NET. Originally written by Cathal Coffey, and maintained by Przemyslaw Klys, it is now maintained by Xceed.
Currently, the only difference between DocX and Xceed Words for .NET, is that Xceed Words for .NET can convert a Word document to PDF, and has professional technical support included in the subscription.
"
Edition | DocX | Xceed Words for .NET |
Price | Free | $499.95 |
License | Ms-PL | Proprietary |
我只是 | 添加錯了我... |
而且不 | 知道怎麼刪這個表格.. |
x