使用Office的元件開發相關的應用,許多時候也會需要把這些開發好的應用搬到Web上,而開發Office相關的應用也是多半會與Asp.Net 的Web結合,並且發佈(Publish)到IIS伺服器管理員上,而在這過程中,便會出現許多而外的問題,需要解決與處理,才能順利的在IIS上使用開發好的Office服務。
[Office | Word | C#] Word浮水印系列(3)-判斷是否有不正確的浮水印圖片或遺漏Section未被插入圖片-檢查Section與Link To Previous與紙張大小,方向等狀況。
在前一篇[Office | Word |C#]Word浮水印系列(2)-判斷頁首頁尾類型與插入圖片至奇偶頁(OddEvenPageHeaderFooter)與第一頁頁首頁尾(FirstPageHeaderFooter) 針對的是一個Section內的頁首頁尾類型狀況,接下來要開始考慮不同Section之間彼此的影響,為何說會有影響,因為Section每一節,都會在版面配置時,有一個功能叫做「連結至前一節」(Link To Previous) ,此功能會使一些「插入」的物件有複製的效果,以下來介紹,與處理的方式。
[Office | Word |C#]Word浮水印系列(2)-判斷頁首頁尾類型與插入圖片至奇偶頁(OddEvenPageHeaderFooter)與第一頁頁首頁尾(FirstPageHeaderFooter)
在前一篇介紹了差入浮水印圖片至頁首頁尾,以及一些細節,而在後記時,有提到仍需考慮其他的因素,主要是PrevoiusToLink-連結致前一節,對浮水印Section造成的影響。
而在此篇,我們還須針對同一個Section下,如果是非一般頁首頁尾類型-奇偶頁與第一頁頁首頁尾的插入圖片方法。
[Office | Word | C#] Word浮水印系列(1)-在Word中加入浮水印(Watermark)圖片
之前有曾寫過一些有關Excel的浮水印相關文章,這次則是要針對Word部分,而在Word的部分,在實際開發上,沒有遇到Excel這麼多的問題在,但是在插入浮水印時卻需要多思考一些問題。
[C#]使用SharpZip做壓縮解壓縮(Zip and Unzip)
做壓縮與解壓縮對現在來說,是滿普遍的需求,特別是在傳送大資料時,未了減少傳送的時間,所以也會先壓縮過資料再來傳送,而在.Net中,從2.0開始也有提供壓縮的方法-
System.IO.Compression下的GZip,不過在這邊要介紹另外一種第三方套件,叫做SharpZip,因為他可以支援到.Net1.1 並且在壓縮的格式上提供了更多,Zip、GZip、Tar與BZip2等等。
而這邊筆記一下,自己整理後使用的方法,由程式碼片段做記錄。
[C# | Net1.1]回到.Net1.1與NT-取得電腦實體記憶體容量-WMI查詢與使用Win32 API
這次是筆記電腦的記憶體容量資訊,首先,如果是一些基本的電腦資訊,如主機名稱,網域,可以透過System.Enviroment取得。
但是電腦的記憶體,CPU型號等資訊,則需要透過別的類別提供,而基本上,.Net1.1有提供WMI的方式去調用到Win32API的方法,來取得,但是若是沒有WMI的話,如Windows NT作業系統,則需要透過Interop的方式取得,而以下分別來介紹。
[C# | Net1.1] 回到.Net1.1與NT - 在.Net1.1取得電腦現有硬碟的磁碟機代號與可用空間的方法-上透過Win32 API
在.Net1.1上並沒有DriveInfo這個類別存在,此類別是從Net2.0開始出現使用的,所以在.Net1.1上要得知目前電腦的硬碟有多少磁碟機代號,各個磁碟機的類型與是否有格式化過,這些狀況都無法方便的處理…
那麼到底我們要如何是好呢?
[C# | .Net1.1] 回到.Net1.1與NT-Net1.1上如何做Json-使用Ajax.NET Professional的Json做序列化與反序列化
不知各位朋友,在做Json的序列與反序列化時,都是使用C#內建的呢? 還是 使用Nuget第三方工具呢?
就一些記錄與文章,.Net在3.5時推出了原生的Json序列化類別工具-分別為 DataContractJsonSerializer 、 JavaScriptSerializer ,但是這是從3.5版開始有的。
至於第三方比較熱門的是Json.Net,支援的版本廣泛,但是不包含2.0以下的,所以此篇要介紹2.0以下,也就是我目前在撰寫的Net1.1也可以使用的第三方工具-
Ajax.NET Professional
[C#]使用類別中有ArrayList型別資料成員,反序列化形態轉換錯誤-System.InvalidCastException處理
因為現在工作的環境關係,需要使用到Net1.1開發,所以很多功能都沒有,其中也包含了List
如果在某類別定義中,包含了ArrayList成員,由於ArrayList存放的是Object型別物件,所以在做反序列化時,會出現型態轉換的問題,以下來介紹與處理。
[Office | Excel | C#] Excel浮水印系列(4)-如何使頁首頁尾的圖片浮水印不會受到縮放比例(Pagesetup Zoom Scale Ratio)影響
在Excel中的版面設定可以對紙張大小的比例縮放,做進一步的設定,有時為了使列印出來或是轉為PDF時,一頁可以塞下足夠多的表格或,甚至是所有的表格,會修改比例縮放,甚至是改為符合「N頁寬M頁高」
但是這樣的情況會使插入的圖片也跟著調整比例,而無法維持原先期望的版面大小
因此會期望可以使圖片的大小不受到「縮放比例」與[N頁寬M頁高」的影響,但是要從哪裡下手呢?
本篇也是很簡單的告訴你使用哪種API功能解決。
[Office | Excel | C#] Excel浮水印系列(3)-如何取得Excel 版面配置(Pagesetup)的紙張大小(PaperSize)與寬高(Width/Height)
為了可以產生滿版Excel浮水印圖片,並在列印時符合紙張類型 ( 紙張大小寬高) 與版面,所以在頁首頁尾模式插入圖片時,需要取得目前的紙張類型,不過這件事其實不難,因為Excel有提供對應的列舉可以取得,但是卻無法取得此紙張大小的寬與高( 真的找了很久,不像Word很方便有提供,但如果有朋友有找到歡迎告知我 ) ,所以這邊提供了一種方式可以取得,各位可以參考參考。
[Office | Excel | C#] Excel浮水印系列(2)-如何加入圖片至奇偶頁與第一頁頁首
上一篇提到在使用頁首頁尾插入浮水印時還需考慮是否有奇偶頁與偶數頁的狀況,否則當遇到這兩種類型的頁面時,圖片不會產生。
[Office | Excel |C#] Excel浮水印系列(1)-在Excel中加入浮水印浮圖片(Watermark)的方法
其實這個需求算是老問題了,網路上也有許多的介紹與解法,但是剛好本人最近遇到的算是比較麻煩的細節需求,所以在這個浮水印的部分會多做一些篇幅介紹,也因此會從基本的部分提起,希望在做浮水印的各位或是需要用類似方法插入圖片的朋友可以參考參考。
[Office | Excel | C#] 如何透過程式不彈出相容性檢查程式視窗(Check Compatibility warning dialog)
最近有需要寫到Excel程式,在Excel中透過automation駔唷些操作,而其中原本是xlsx格式的檔案患有需要轉為xls格式,此時便會有一些相容性的問題出現,例如頁首頁尾的類型等等…
但是,此時會彈出「相容性檢查程式」的警告對話框視窗,一般會由我們使用者互動,按下繼續或取消,但是透過程式時,因為要做自動化,自堧不會意識到視窗的出現,所以,到底要怎麼關閉他? 或是預設不讓相容性檢查程式彈出呢?
其實很容易,只需要簡單的幾行Code就可以,讓我們來試試看!
[Office|C#]Word開啟PDF文件時,以程式方式避免彈出PDF轉換格式的確認視窗(Close PDF conversion Dialog by program)
不知道各位有沒有遇到一些需求是需要透過Office的automation自動化完成的需求呢?前陣子遇到一個需求是,客戶需要寫類似批次的作業,並且要透過Word開啟PDF檔案後在裡面做一些內容加工,可是沒想到!再開啟PDF文件時,Word會主動談出一個PDF轉換文件警告的視窗!
這篇文章就來告訴各位,我們要如何不讓他再次顯示出來!
[C#|WinForm] 如何讓表單視窗(Form)關閉時,在次顯示(Show)時不會出現"無法存取已處置的物件。"
最近做實驗需要透過表單視窗來顯示畫面,但是關閉表單後,如果要再透過Show()方法去顯示卻會出線「無法存取已處置的物件。"」的例外,其實解決方式很簡單,我們只要先將表單隱藏起來,而不是真的關閉,然後在顯示即可。
[XAML] 自定義ListBox的ListItem時,如何使用Grid讓子元件延伸與向右靠齊
從標題來看會有點抽象,通常我們要自定義ListBox中顯示的各個ListItem,會使用DataTemplate來定義。
有時候,我們會有一個需求就是,ListItem中的元件,可能一個要置左,一個在中間,另應個要置右,這個時候要怎麼處理呢?
[C#] 如何指定16進制色碼到SolidBrush中
常常在WEB上設定顏色會發現,使用的都是16進制的色碼,而通常我們在為程式的介面配色時,多數都會參考網路上一些網站或版面配色,或是某些如Dribble這個由許多設計師聚集的平台,會把他們的設計作品與配色的色碼放上去
然後再使用這些顏色,而在C#中程式中,通常都會採用SolidBrush這個類別來協助指定配色,可是SoliBrush提供的指地方是10進制的RGB,那麼要如何轉換呢?
這邊來稍微紀錄一下,方便之後可以直接使用,也給需要做轉換的朋友直接參考
[C# | XAML] 如何對ListBox做資料繫結(DataBinding)
此篇介紹如何繫結到資料集合的元件,如ListBox、ListView等等的元件。
這些元件都是集合,皆有繼承ItemsControl,所以在繫結實的方式會比較不一樣。
在這邊以ListBox元件作為範例。
並且分別介紹與用List
[C#|XAML] 如何做簡單資料繫結
有時候在開發程式時,會希望程式的介面UI,資料呈現(如刪除、修改新增等等)可以隨著使用者的操作而自動對應改變,也就是說當資料被改動時,也會自動的在UI上呈現,而資料繫結的方式包含三種,One Way、Two Way 與 OneWayToSource,一般預設都是One Way方式,也就是由資料端繫結到呈現UI端,通常是因為顯示資料時是唯獨的原因。
在這邊,主要介紹如何時做一個簡單的資料繫結方式,在XAML中如何與邏輯端的資料做繫結,並實作INotifyPropertyChanged介面。