Textbox1.Text >> "A1"
我的目标是打开现有的Excel电子表格,将特定字符串插入电子表格中的特定单元格,然后将其打印出来。作为一个额外的好处,如果有人知道我如何编写程序以打开这个电子表格供用户查看,那将非常有用。
谢谢!
答案 0 :(得分:0)
您可以使用OLEDB连接更新电子表格。然后你可以做以下打印:
Dim strFile As String = "c:\test.xls"
Dim objProcess As New System.Diagnostics.ProcessStartInfo
With objProcess
.FileName = strFile
.WindowStyle = ProcessWindowStyle.Hidden
.Verb = "print"
.CreateNoWindow = True
.UseShellExecute = True
End With
Try
System.Diagnostics.Process.Start(objProcess)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
打印完成后,您可以执行简单的System.Diagnostics.Process.Start("c:\test.xls")
打开工作簿供用户查看。
或者,您可以使用OLEDB连接来更新电子表格。然后你可以通过这样的东西打开它。您还可以同时将字符串输入到工作簿中(而不是使用OLEDB连接)。添加对Microsoft.Office.Interop.Excel。
的引用Imports Microsoft.Office.Interop
Public Class MyExcel
Private Sub StartExcel()
Dim xlApp As New Excel.Application
xlApp.Visible = True
Dim xlBook As Excel.Workbook = xlApp.Workbooks.Open("c:\test.xlsx")
Dim xlSheet As Excel.Worksheet = xlBook.ActiveSheet
Dim xlSheet2 As Excel.Worksheet = xlBook.Worksheets("Sheet 3")
xlSheet2.Range("B5").Value2 = "my new string"
xlSheet.Range("A1").Value2 = "my string"
xlBook.PrintPreview()
End Sub
End Class
答案 1 :(得分:0)
这可能看起来有点粗糙但是......它可能对你有所帮助。您只需创建一个扩展名为.XLS的文本文件即可。您可以将文本放在文件中,其中Tab字符在Excel中被识别为列分隔符,并且回车符在Excel中被识别为行分隔符
ColA Row1 ColB Row1 ColC Row1
ColA Row2 ColB Row2 ColC Row2
在上面的示例中,使用选项卡替换部分之间的空格,将其保存到扩展名为.XLS的硬盘驱动器,然后在Excel中打开,您将在单独的列和行中看到文本
答案 2 :(得分:0)
使用Excel自动化非常简单,但仅建议用户参与和用户交互的情况,因为自动Excel仍然可以显示需要用户干预的各种模态对话框。如果应用程序不应该是用户交互式的,那么最好使用类似Open XML SDK for Office或第三方产品(例如Aspose.Cells,我自己使用的),这将运行更快,不容易停止用户注意。在服务器/用户无人参与的应用程序中,Microsoft specifically recommends无法完成Office应用程序的自动化,并且不支持Office应用程序自动化,并且可能违反这些情况下的许可要求。