版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
调整某一列的宽度:Worksheet.Columns(要调整的列数).ColumnWidth
调整某一行的高度:Worksheet.Rows(要调整的行数).rowHeight
调整单元格的颜色:Worksheet.Cells(行号,列号).Interior.Color
这里有个具体的示例,以前发过的《Excel做图像》,这里把具体代码列出来:
设计界面:
载入按下:
Private Sub btnOpen_Click(sender As Object, e As EventArgs) Handles btnOpen.Click
Dim filename As String
If ofdImg.ShowDialog = DialogResult.OK Then
filename = ofdImg.FileName
Else
Exit Sub
End If
pbShow.Image = Image.FromFile(filename)
End Sub
输出按下:
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Dim timestart, timeend As DateTime
timestart = Now()
Dim pImageWidth, pImageHeight As Integer
pImageWidth = 300
pImageHeight = 200
Dim pImage As New Bitmap(pImageWidth, pImageHeight)
Dim g As Graphics = Graphics.FromImage(pImage)
g.DrawImage(pbShow.Image, New Rectangle(0, 0, pImageWidth, pImageHeight))
g.Dispose()
Dim xls As New Excel.Application
Dim Wbook As Excel.Workbook
Wbook = xls.Workbooks.Add()
Dim Wsheet As Excel.Worksheet
Wsheet = Wbook.Worksheets.Add()
Wsheet.Name = "图画"
Dim picW, picH As Integer
picW = pImage.Width
picH = pImage.Height
For i As Integer = 1 To picW
Wsheet.Columns(i).ColumnWidth = 0.2
Next
For j As Integer = 1 To picH
Wsheet.Rows(j).rowHeight = 2
Next
Dim picColor As Color
For k As Integer = 0 To picW - 1
For l As Integer = 0 To picH - 1
picColor = pImage.GetPixel(k, l)
Wsheet.Cells(l + 1, k + 1).Interior.Color = RGB(picColor.R, picColor.G, picColor.B)
Next
Next
Wbook.SaveAs("d:\aa.xls")
xls.Quit()
timeend = Now()
MessageBox.Show("转换完毕。" & ControlChars.CrLf & "图片大小:" & pImage.Width & "*" & pImage.Height & ControlChars.CrLf & "转换耗时:" & (timeend - timestart).TotalSeconds)
End Sub
最后的效果:
就是需要的时间太长了:
不知道可以用来做十字绣的底稿不。。。呵呵呵呵
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net 教程 目录