如何确定是否未安装Microsoft Excel? [英] How to determine if Microsoft Excel is not installed?

查看:356
本文介绍了如何确定是否未安装Microsoft Excel?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨大家好!



确定是否未安装Microsoft Excel或Microsoft Office的条件语句是什么?我有一个函数,它将数据导出到excel文件。如果没有excel,我想提示错误消息。



谢谢。



这里是代码:



  Dim 路径作为 字符串 
path = AppDomain.CurrentDomain.BaseDirectory
' MessageBox.Show(path)
' 将DataGridView导出到Excel
Dim xlapp As Excel.Application

Dim xlworkbook As Excel.Workbook
Dim xlworksheetAmort 作为 Excel.Worksheet
Dim xlworksheetSOA 作为 Excel.Worksheet
Dim misvalue As 对象 = System.Reflection.Missing.Value
Dim i As 整数
Dim j As 整数

xlapp = Excel.Application
xlworkbook = xlapp.Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory + Template.xls
xlworksheetAmort = xlworkbook.Sheets( Amort

xlworksheetAmort .Cells( 1 1 )= <温泉n class =code-string> Period
xlworksheetAmort.Cells( 1 2 )= Principal
xlworksheetAmort.Cells( 1 3 )= 兴趣
xlworksheetAmort.Cells( 1 4 )= 付款
xlworksheetAmort.Cells( 1 5 )= O / S余额

对于 i = 0 grdvwAmortization.RowCount - 2
对于 j = 0 grdvwAmortization.ColumnCount - < span class =code-digit> 1
xlworksheetAmort.Cells(i + 1 ,j + 1 )= _
grdvwAmortization(j,i).Value.ToString()
下一步
< span class =code-keyword> Next

xlworksheetSOA = xlworkbook.Sheets( SOA

' 帐户详细信息
xlworksheetSOA.Cells( 4 14 )= 日期 .Now.ToString( MM / dd / yyyy
xlworksheetSOA.Cells( 6 4 )= lblLastName.Text + + lblFirstName.Text
xlworksheetSOA.Cells( 7 4 )= getLoanType(lblLoanType.Text)
xlworksheetSOA.Cells( 12 4 )。 NumberFormat = @
xlworksheetSOA.Cells( 12 4 )= txtbxPNNum.Text

' 将datagridview复制到excel
Dim As 整数 = 13

对于 i = 0 grdvwSOA.RowCount - 2
对于 j = 0 grdvwSOA.ColumnCount - 1
xlworksheetSOA.Cells(Row,j + 1 )= grdvwSOA(j,i).Value.ToString()
下一步
行=行+ 1
下一步

Dim 对话框作为 SaveFileDialog
Dim 结果 As DialogResult = dialog.ShowDialog

尝试
xlworkbook.SaveAs(dialog.FileName)
' < span class =code-comment> xlworksheet.SaveAs(dialog.FileName)
Catch exerr 正如例外
结束 尝试

xlworkbook .Close()
xlapp.Quit()

releaseObject(xlapp)
releaseObject(xlworkbook)
' releaseObject(xlworksheetAmort)
' releaseObject (xlworksheetSOA)

解决方案

请检查以下链接



如何检查Excel是否安装在系统与否 [ ^ ]



http://www.devx.com/vb2themax/Tip/19507 [ ^ ]


您的解决方案在很大程度上取决于Office产品。这严重损害了它的价值,因为并非所有客户都安装了Excel?如果您检测到它没有安装有什么用?预期的出口仍然无法使用。



更好的解决方案是消除对Office的依赖。这可以通过使用Microsoft Open XML SDK来实现。请参阅我之前的答案和我引用的答案:如何从MS Visual中添加参考添加microsoft excel 15.0对象库Studio 2010 [ ^ ] 。



在创建Excel文档时,另请参阅此答案:使用Open XML创建基本的Excel工作簿 [ ^ ]。



-SA

Hi Guys!

What is the conditional statement to determine if Microsoft Excel or Microsoft Office is not installed? I have a function which it will export data to an excel file. I wanted to prompt an error message if there is no excel.

Thanks.

here is the codes:

Dim path As String
        path = AppDomain.CurrentDomain.BaseDirectory
        'MessageBox.Show(path)
        'Export DataGridView to Excel
        Dim xlapp As Excel.Application

        Dim xlworkbook As Excel.Workbook
        Dim xlworksheetAmort As Excel.Worksheet
        Dim xlworksheetSOA As Excel.Worksheet
        Dim misvalue As Object = System.Reflection.Missing.Value
        Dim i As Integer
        Dim j As Integer

        xlapp = New Excel.Application
        xlworkbook = xlapp.Workbooks.Open(AppDomain.CurrentDomain.BaseDirectory + "Template.xls")
        xlworksheetAmort = xlworkbook.Sheets("Amort")

        xlworksheetAmort.Cells(1, 1) = "Period"
        xlworksheetAmort.Cells(1, 2) = "Principal"
        xlworksheetAmort.Cells(1, 3) = "Interest"
        xlworksheetAmort.Cells(1, 4) = "Payment"
        xlworksheetAmort.Cells(1, 5) = "O/S Balance"

        For i = 0 To grdvwAmortization.RowCount - 2
            For j = 0 To grdvwAmortization.ColumnCount - 1
                xlworksheetAmort.Cells(i + 1, j + 1) = _
                    grdvwAmortization(j, i).Value.ToString()
            Next
        Next

        xlworksheetSOA = xlworkbook.Sheets("SOA")

        'Account Details
        xlworksheetSOA.Cells(4, 14) = Date.Now.ToString("MM/dd/yyyy")
        xlworksheetSOA.Cells(6, 4) = lblLastName.Text + ", " + lblFirstName.Text
        xlworksheetSOA.Cells(7, 4) = getLoanType(lblLoanType.Text)
        xlworksheetSOA.Cells(12, 4).NumberFormat = "@"
        xlworksheetSOA.Cells(12, 4) = txtbxPNNum.Text

        'Copy datagridview to excel
        Dim Row As Integer = 13

        For i = 0 To grdvwSOA.RowCount - 2
            For j = 0 To grdvwSOA.ColumnCount - 1
                xlworksheetSOA.Cells(Row, j + 1) = grdvwSOA(j, i).Value.ToString()
            Next
            Row = Row + 1
        Next

        Dim dialog As New SaveFileDialog
        Dim result As DialogResult = dialog.ShowDialog

        Try
            xlworkbook.SaveAs(dialog.FileName)
            'xlworksheet.SaveAs(dialog.FileName)
        Catch exerr As Exception
        End Try

        xlworkbook.Close()
        xlapp.Quit()

        releaseObject(xlapp)
        releaseObject(xlworkbook)
        'releaseObject(xlworksheetAmort)
        'releaseObject(xlworksheetSOA)

解决方案

Please check following link

How to Check Whether Excel is Installed in the System or Not[^]

http://www.devx.com/vb2themax/Tip/19507[^]


Your solution heavily depends on Office products. This seriously compromises its value, because not all customers will have Excel installed? What's the use if you detect that it does not installed? The expected export still won't be available.

Much better solution would be elimination of dependency on Office. This is possible to achieve by using Microsoft Open XML SDK. Please see my past answer and answers I referenced: How to add microsoft excel 15.0 object library from Add Reference in MS Visual Studio 2010[^].

On Excel document creation, see also this answer: Creating basic Excel workbook with Open XML[^].

—SA


这篇关于如何确定是否未安装Microsoft Excel?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆