2011年11月8日 星期二

#VB DataGridView 統計圖表

'再來想一夏怎麼排版
如果匯出的資料量大會有什麼情況

'要測一夏多料號轉檔

先這樣好了

====================================================

'測試轉檔能不能轉到excel

以像素一個一個描繪到excel
一個cell作為一個影格....

VB.Net Image 轉 Excel



讓圖片以cell大小縮放
(轉完檔案,如果調整cell大小,圖片不再縮放的樣子)

How to Unify The Picture Height and Width with a Cell



可能可以透過 copyPicture 把 byte 或是圖片物件 丟進去
再用paste貼上

 Excel CopyPicture Method fails in VB


Worksheets("Sheet1").Range("A1:D4").CopyPicture xlScreen, xlBitmap
Worksheets("Sheet1").Paste _
    Destination:=Worksheets("Sheet1").Range("E6")




@一直碰到說設定欄位的高寬碰到
無法設定種類 Range 的 ColumnWidth 屬性 的問題

猜測是跟高寬的point設置太大有關係( 可能不能超過螢幕點數寬度吧)

欄位的高寬跟圖片的高寬是不一樣的東西

單位換算以及列高、欄寬的表示
http://blog.xuite.net/crdotlin/excel/9018231

ColumnWidth與point
要精確製作一個正方形的儲存格就要計算1個ColumnWidth等於多少points?要求出此因子,公式如下:
Dim Factor As Single
With ActiveCell
    Factor = .Width / .ColumnWidth   ‘1個ColumnWidth等於多少points
    .EntireColumn.ColumnWidth = .Height / Factor  ‘將行寬設成列高
End With


================================================
'比例應該怎麼拿捏
應該是要隨著每次查詢而變動基準 (每次數量都不一樣)

'隨著比例去繪製 Rectangle的高度 ( column 高度也隨著比例變動 )
======================================================


VB 2005 - 於 DataGridView 控制項一次顯示出多個圓餅圖的原始程式碼

@VB using : 使用 Using 块来获取一个新字体。这样可确保代码退出该块时,系统将对该字体调用Dispose 方法。
確保在 end using 後, 該變數將被 Dispose



@Graphics.Fill 許多方法

Graphics.FillPie 方法

填滿由座標對、寬度、高度和兩條放射線指定的橢圓形所定義的派形區域內部。


'去抓 bitmap,存成stream 位元
然後透過 MemoryStream.GetBuffer 去撈出 bits
指定給newRow("欄位")
將newRow加入到Table
          Using ms As MemoryStream = New MemoryStream()
                  objBitmap.Save(ms, ImageFormat.Gif)
                  ms.Flush()
                  newRow("
圖形") = ms.GetBuffer()
              End Using

              myPieChartTable.Rows.Add(newRow)

沒有留言:

張貼留言