Tag: vb.net

来自HRESULT的exception:0x800A03EC(用于excel的开放函数)

我开发了一个从Excel表读取的Web应用程序。 当我在VS本地主机上运行网站时,它工作的很好。 当我上传的服务器2007年的网站应用程序。 我在下面的错误信息: 来自HRESULT的exception:0x800A03EC说明:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪,了解有关错误的更多信息以及源代码的来源。 exception详细信息:System.Runtime.InteropServices.COMException:从HRESULTexception:0x800A03EC 第37行:xlWorkBook = xlApp.Workbooks.Open(Server.MapPath(“test2007.xlsx”)) 您的帮助是高度赞赏

VB.NETclosuresExcel

我对Visual Basic(以及本站)非常陌生,在使用自动化时需要一些关于如何正确退出Excel的build议。 在我的问题上的一个小背景:我们有一个大的Excel工作簿,我的老板已经创build了数百个相对复杂的计算。 目前用户只是使用电子表格input他们的数据,但现在我正在使用vb.net用户界面来允许他们input他们的数据,并且为我们提供了更多的灵活性和function,使他们的生活更轻松让他们摆脱微软Excel的恐怖。 在打开我的.net应用程序时,我正在运行一个命令来在后台打开工作簿(Excel对象的可视属性设置为false),所以我们可以使用它。 在某些情况下,我们会将这些计算迁移到独立应用程序中,但现在这不是一个经济有效的解决scheme,因此我们将使用已经开发的电子表格。 closuresExcel后,我遇到了一个小问题。 我可以使用FormClosing事件顺利closuresExcel。 我的问题是:如果我的应用程序正在运行(这意味着我所需的工作簿在后台打开),并通过桌面上的快捷方式打开另一个工作簿,当我打开另一个工作簿时closures应用程序时,它会尝试closures第二个工作簿,并提示用户的Excel保存更改对话框。 我如何解决这个问题? 我是否需要find特定于我的计算工作簿的过程并closures该过程,而不是closures我创build的Excel对象? 这是我的FormClosing事件的代码: Private Sub Form8_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 'close the workbook xlWorkbook.Close(SaveChanges:=False) 'clean up System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook) xlWorkbook = Nothing 'close the excel application xlApp.Quit() 'clean up System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) xlApp = Nothing End Sub 编辑:我知道这个问题正在发生,因为Excel打开它的文件的方式。 除非您进入开始菜单并打开Excel的新实例,否则Excel将在已经运行的应用程序对象中打开您的文件。 这使我相信这个问题可能是不可避免的,但即使你只是头脑风暴,也会喜欢一些反馈 任何意见是极大的赞赏。 谢谢,埃里克 PS,感谢谁把我的代码在代码标签! 我保证我会弄清楚如何自己做;)

如何删除表中certian字段等于指定的重复行

您好我有一个匹配的应用程序,匹配两个字段使用Jaro algorythms。 我如何删除以下内容:请参阅下面的图像链接了解我的问题:) 谢谢

ASP.NET到Excel导出 – 参考文件并打开另存为对话框?

我有这个代码: Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' Here we go. All the data in the form to an Excel sheet. Cross your fingers… Dim oExcel As Object Dim oBook As Object Dim oSheet As Object 'Start a new workbook in Excel- this isn't really what I need though, I need […]

在vb.net中使用Exceldate

尝试从Excel工作表读取date时遇到问题。 (date列的格式与打开的计算机的短date格式相同)。 我将excel表中的date填充到成功的datagrid中,但是当我试图parsingdate(为了适当地格式化),我得到一个错误,说明string不是有效的DateTime值。 电脑的短date格式是dd / MM / yyyy。 这是我用来parsingdate的代码。 以下代码是过程失败的示例。 Dim dateParsed AS DateTime = DateTime.Parse("14/01/2013").ToString("yyyy-MM-dd") 有没有办法以编程方式获得系统的短date格式,而不是使用ParseExact或任何build议?

创build一个电子表格,并使用NPOI库创build具有彩色背景的单元格

我正在尝试使用NPOI库从vb.net应用程序创build一个Excel电子表格。 我正在使用下面的代码: Imports NPOI.HSSF.UserModel Imports NPOI.SS.UserModel Imports NPOI.SS.Util Imports NPOI.HSSF.Util Imports NPOI.POIFS.FileSystem Imports NPOI.HPSF Imports NPOI.HSSF.Util.HSSFColor 'create a background color of red Dim styleCellRedBackGround As HSSFCellStyle = workbook.CreateCellStyle() styleCellRedBackGround.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.RED.index Dim styleCellRedBackGroundFont = workbook.CreateFont() styleCellRedBackGroundFont.FontName = "Red Background" styleCellRedBackGround.SetFont(styleCellRedBackGroundFont) row = sheet.CreateRow(2) cell = row.CreateCell(0) cell.CellStyle = styleCellRedBackGround cell.SetCellValue("<<COMPETITIVE REBATES>>") 电子表格已创build,但单元格没有红色背景。 如果我创build一个单元格并指定红色的背景,但不写任何东西到单元格,这似乎工作。 似乎有关文件如何做到这一点。 有什么build议么? […]

自动填充直到数据结束B列VB.Net

我在VB.net中没有问题。 我有列A列B数据excel文件。我想在C列中将值写为“USD”,直到列B或列A中的值结束。 在Excel VBA中,我使用 Range ("C2") = "USD" Range("C2").Copy Range("C3", Cells(Rows.Count, "B").End(xlUp).Offset(0, 1)) 这填充美元,直到B栏的价值结束。 任何人都可以帮助我如何获得这个在VB.Net? 我在VB.net中尝试过这样的东西。 With objworkbook2 Dim my_variable As String Dim Worksheets = objworkbook2.Worksheets("Test USD") my_variable = "USD" if Worksheets.Cells(2, 1).Value >= 1 Then 'Cell A9 contains Number Worksheets.Cell(2, 3).Value = my_variable End if End With 请帮助我如何在VB.Net中循环

Vb.net将Richtextbox格式化的内容导出到Excel单元格

关于这个问题的第一个问题,我的进展是: 首先:使用函数: sheet.Cells(X, X).Value = RichTextBox1.Rtf ,我find这种单元格内容: “rtf1 \ ansi \ ansicpg1252 \ deff0 \ deflang1036 \ deflangfe1036 {\ fonts \ }} {\ colortbl; \ red255 \ green0 \ blue0; \ red0 \ green0 \ blue139;} \ viewkind4 \ uc1 \ pard \ f0 \ fs22 XXXXXXXXXXX \ par \ cf1 \ strike \ f1 […]

使用Microsoft.ACE.OLEDB.12.0加载的数据表具有比Excel工作簿更高的精度

我通过System.Data.OleDb.OleDbConnection通过VB.net中的filehandler上传货币汇率工作簿。 在Excel工作表中查看费率时,我看到0.55865921787709500000 。 在debugging模式下查看数据表中相同的速率,我看到0.55865921787709480000 。 在Excel中,小数位数被设置为20 – 似乎只是填补了小数点后15位。 我试过读/写单元格到一个文本文件(相同的'500000'结果)。 试图将工作簿保存为逗号分隔的文本文件 – 结果是相同的“500000”。 费率工作表是从另一个网站创build的。 我已经尝试在工作表中添加第16位数字,但是在移出单元格之后,它会翻转为零。 我知道Excel有16位精度限制。 在这种情况下,它似乎是存储更多。 有什么方法可以查看工作簿中的实际存储值 – 除了检查数据表?

Vb.net出口gridview到Excel

我无法导出我的GridView到一个Excel文件。 除了当我点击导出button时,一切正常,应该导出到Excel文件的数据显示在网页上。 我怀疑这是Response.ContentType和我指定的文件名的问题。 但是,我已经通过了多个文件和例子,似乎这两个是我的情况下的根本问题。 谁能帮忙? <asp:Button ID="btnExport" runat="server" Text="Export To MS Excel File" CssClass="btnMain" OnClick="btnExport_Click" /> Protected Sub btnExport_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim filename As String = "PerformanceEval Status Report" & Date.Now.Year.ToString & "-" & _ formatNumberTo2Digits(DateTime.Now.Month) & "-" & formatNumberTo2Digits(DateTime.Now.Day) & ".xls" With Page.Response .Clear() .Buffer = True .AddHeader("content_disposition", "attachment;filename" […]