将字符串导出到Excel文件

时间:2013-07-23 16:57:54

标签: vb.net excel io

Textbox1.Text >> "A1"

我的目标是打开现有的Excel电子表格,将特定字符串插入电子表格中的特定单元格,然后将其打印出来。作为一个额外的好处,如果有人知道我如何编写程序以打开这个电子表格供用户查看,那将非常有用。

谢谢!

3 个答案:

答案 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应用程序自动化,并且可能违反这些情况下的许可要求。