如何确定是否未安装Microsoft Excel? [英] How to determine if Microsoft Excel is not installed?
本文介绍了如何确定是否未安装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屋!
查看全文