Word和WPS哪個好用?
1、微軟Word
適用群體:商務(wù)辦公人員
推薦理由:
①微軟Word需要付費(fèi),但運(yùn)行相對比較穩(wěn)定、功能齊全。
②微軟Word在細(xì)節(jié)的處理上會比較有優(yōu)勢,尤其是在處理文件表述較大較復(fù)
雜的時候,效果如何誰用誰知道。
③參加競賽時,一般都是要求使用微軟Word格式,這樣可以避免文檔格式不
兼容、或打開出錯等問題。
2、WPS
適用群體:學(xué)生等普通用戶
推薦理由:
①WPS體積小、易安裝,而且免費(fèi)。
②如果你僅僅只是想要做點文字記錄,圖文表述,那么使用WPS完全是可以
滿足你的需求。如果你需要批量轉(zhuǎn)換WPS文件格式,雖然WPS并沒有批量轉(zhuǎn)換功能,不過我們卻可以使用在線迅捷pdf轉(zhuǎn)換器來搞定!
PS111 : Photoshop由零開始
|
視頻學(xué)習(xí):
--
|
學(xué)習(xí)收獲
|
**培訓(xùn),使學(xué)員了解Photoshop的界面組成,
熟悉Photoshop主要功能以及基本命令與工具的操作方法,為快速入門Photoshop提供了一個強(qiáng)有力的調(diào)板。
|
培訓(xùn)時長:
12 小時
|
預(yù)備知識:
無
|
PS121 : Photoshop圖片特效處理一點通
|
視頻學(xué)習(xí):
3.5 小時
|
學(xué)習(xí)收獲
|
在實踐中熟練掌握Photoshop的圖片處理、輔助
Office辦公軟件的使用方法和操作技巧,并深刻地領(lǐng)會Photoshop平面創(chuàng)作的基本思路,從而快速地步入影像圣堂。
|
培訓(xùn)時長:
12 小時
|
預(yù)備知識:
Photoshop由零開始
|
PS131 : Photoshop特效設(shè)計提高班
|
視頻學(xué)習(xí):
--
|
學(xué)習(xí)收獲
|
了解并掌握圖像處理、編輯、通道、圖層、路徑
綜合運(yùn)用;圖像色彩的校正;各種特效濾鏡的使用;特效字的制作;圖像輸出與優(yōu)化等,靈活運(yùn)用圖層風(fēng)格,圖層特效和蒙版,制作出千變?nèi)f化的圖像
特效。
|
Excel輸出與性能
**近的工作內(nèi)容之一是對一個Windows Forms程序做性能調(diào)整,過程曲折有趣,記下來和大家分享一下。
這個程序的功能其實挺單純:先檢索Oracle,然后把結(jié)果輸出到一個Excel文件里;輸出時使用了Excel 2002/2003提供的Excel Object庫。客戶反映說程序太慢,輸出5000條數(shù)據(jù)就得苦等一個上午。我們也覺得奇怪,就把代碼翻出來看。這份代碼大概十年前就有了,**初是VB5做的,后來經(jīng)過一次升級,變成了現(xiàn)在的VB.NET版(基于.NET Framwork 1.1)。看了半天代碼,我們好像找到問題所在了:在向Excel輸出的時候,代碼的做法比較笨——它針對每個單元格逐一賦值,而每次賦值都應(yīng)該會導(dǎo)致一次磁盤寫入操作,程序很可能因此變慢。假定檢索結(jié)果包含5000條記錄,每一條記錄里有50個字段,這樣就需要生成一個5000行×50列的Excel文件。采用單元格逐一賦值的做法,就意味著要執(zhí)行25萬次磁盤寫入操作。示例代碼如下:
Reference for Microsoft Excel is required.
Imports Microsoft.Office.Interop
Public Function WriteIntoExcelCellbycell(ByVal ExcelFile As String, ByVal ExcelRowCount As Integer, ByVal ExcelColumnCount As Integer) As TimeSpan
Dim dtStart As DateTime
dtStart = Now
Dim objExcelApp As Excel.application = Nothing
Dim objWorkBook As Excel.Workbook = Nothing
Dim objWorkSheet As Excel.Worksheet = Nothing
Try
objExcelApp = New Excel.Application
objExcelApp.Visible = False
objWorkBook = objExcelApp.Workbooks.Open(ExcelFile)
objWorkBook.Activate()
objWorkSheet = DirectCast(objWorkBook.Worksheets.Add(), Excel.Worksheet)
objWorkSheet.Activate()
For intRow As Integer = 1 To ExcelRowCount
For intColumn As Integer = 1 To ExcelColumnCount
objWorkSheet.Cells.Item(intRow, intColumn) = intRow & "-" & intColumn & "ABCDEFG"
Next
Next
objWorkBook.Save()
Return DateTime.Now.Subtract(dtStart)
Catch ex As Exception
Throw ex
Finally
If objWorkBook Is Nothing Then
Else
objWorkBook.Close()
End If
If objExcelApp Is Nothing Then
Else
objExcelApp.Workbooks.Close()
objExcelApp.Quit()
End If
End Try
End Function
于是,我們嘗試了另一種做法——先把所有檢索結(jié)果轉(zhuǎn)換成一個二維數(shù)組,然后一次性寫入Excel。 代碼示意如下:
Reference for Microsoft Excel is required.
Imports Microsoft.Office.Interop
Public Function WriteIntoExcelByRange(ByVal ExcelFile As String, ByVal ExcelRowCount As Integer, ByVal ExcelColumnCount As Integer) As TimeSpan
Dim dtStart As DateTime
dtStart = Now
Dim objExcelApp As Excel.Application = Nothing
Dim objWorkBook As Excel.Workbook = Nothing
Dim objWorkSheet As Excel.Worksheet = Nothing
Try
objExcelApp = New Excel.Application
objExcelApp.Visible = False
objWorkBook = objExcelApp.Workbooks.Open(ExcelFile)
objWorkBook.Activate()
objWorkSheet = DirectCast(objWorkBook.Worksheets.Add(), Excel.Worksheet)
objWorkSheet.Activate()
Dim dataBuffer As String(,)
dataBuffer = Array.CreateInstance(Type.GetType("System.String"), ExcelRowCount, ExcelColumnCount)
For intRow As Integer = 0 To ExcelRowCount
For intColumn As Integer = 0 To ExcelColumnCount
dataBuffer(intRow, intColumn) = intRow & "-" & intColumn & "ABCDEFG"
Next
Next
Dim objRange As Excel.Range
objRange = objWorkSheet.Range(objWorkSheet.Cells(1, 1), objWorkSheet.Cells(ExcelRowCount, ExcelColumnCount))
objRange.Value = dataBuffer
objWorkBook.Save()
Return DateTime.Now.Subtract(dtStart)
Catch ex As Exception
Throw ex
Finally
If objWorkBook Is Nothing Then
Else
objWorkBook.Close()
End If
If objExcelApp Is Nothing Then
Else
objExcelApp.Workbooks.Close()
objExcelApp.Quit()
End If
End Try
End Function
我們找了現(xiàn)場**老的一臺PC(CPU:Celeron 2GHZ,內(nèi)存:512MB)做測試,發(fā)現(xiàn)使用新方法輸出16000條數(shù)據(jù)只需要不到5分鐘時間。我們都感到高興,以為這件事這樣就算搞定了。但是,當(dāng)我們把檢索結(jié)果件數(shù)增加到65000條時(這是客戶要求的**大數(shù)據(jù)輸出量,但我們猜測他們自己或許從來不曾一次輸出過這么多數(shù)據(jù)),發(fā)現(xiàn)程序又變得像老牛一樣了——整整花費(fèi)了8個小時才能完成輸出。
我們做了一下計算:
■檢索結(jié)果:65000條
■每條記錄平均長度:600字節(jié)
■一次性寫入Excel的數(shù)據(jù)量:約37MB
一次性向Excel文件寫入37MB數(shù)據(jù),或許有些太為難Excel Object庫了。那么,應(yīng)該如何改善呢?到目前為止我們還沒有找到解決方法,但已經(jīng)有了一些初步的設(shè)想——
**,可以考慮換一種思路??蛻舻哪康氖鞘褂肊xcel查看查詢結(jié)果,并能把結(jié)果另存為Excel文件?,F(xiàn)在性能卡在Excel文件輸出上,那么,我們能不能繞道而行,避開把數(shù)據(jù)直接輸出到Excel文件上的做法?譬如先把結(jié)果輸出到CSV文件上,然后再寫個Macro(宏)將數(shù)據(jù)從CSV里讀取出來放入Excel顯示。相對于Excel文件,CSV文件的寫操作速度應(yīng)該快許多,而利用Macro從CSV文件提取數(shù)據(jù)應(yīng)該也不會太慢。
第二,可以考慮放棄Excel Object庫,換一個性能好一點的Excel庫。有一個名為ExcelCreator.NET的庫可以用。據(jù)說這個庫效率高過Excel Object很多倍。下面的性能測試數(shù)據(jù)來自那個公司的網(wǎng)站:http://www.adv.co.jp/PRoducts/product_ExcelCreator5_feature2.htm
■測試用例1:256列×300行Excel輸出
ExcelObject:6′6″
ExcelCreator 5.0 for .NET:1.4″
■測試用例2:30列×2000行Excel輸出
ExcelObject:4′45″
ExcelCreator 5.0 for .NET:1.2″
相關(guān)推薦:
蘇州辦公軟件培訓(xùn) 蘇州辦公軟件培訓(xùn)班 蘇州辦公軟件培訓(xùn)機(jī)構(gòu)