Tag: vb.net

用于确定货币或双倍的UDF方法

我在VB.NET中创build了一个UDF ,它有时与currency ,我需要在VB使用Decimal格式。 但是有时候我会用time或者简单的double 。 用什么方法来确定我应该如何增加数值,用decimal还是double ? 为了简单起见,我不想让excel返回实际的范围,但是如果我需要确定它是否被格式化为货币,则会这样做。

在select语句中,无法使用where子句从excel表读取数据

我正在尝试从excel工作表中读取数据,但有一个例外情况说,没有给出一个或多个我不明白的必需参数的值。 这是我的代码直到错误指向的地方: Dim MyConnection As System.Data.OleDb.OleDbConnection Dim DtSet As System.Data.DataSet Dim MyCommand As System.Data.OleDb.OleDbDataAdapter MyConnection = New System.Data.OleDb.OleDbConnection _ ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Application.StartupPath & "\Staff Contracts.xlsx; Extended Properties=""Excel 12.0;HDR=NO""") MyCommand = New System.Data.OleDb.OleDbDataAdapter _ ("select * from [Staff Contracts$A4:K14] where I=176", MyConnection) MyCommand.TableMappings.Add("Table", "TestTable") DtSet = New System.Data.DataSet MyCommand.Fill(DtSet) exception指向最后一行MyCommand.Fill(DtSet) ,它显示我的select语句有问题。 以前,我的代码读取数据,并在select中没有where子句的情况下显示它where但是当我添加where语句以便它只能读取列I的值等于176的行的数据时,它会给出一个exception,某些必需的参数缺less一个值

使用COM对象将Silverlight Datagrid导出到Excel

我有一个Silverlight 4应用程序的数据网格,我试图通过在Silverlight中调用Excel的COM组件导出到Excel。 它保持错误,并告诉我,function不支持。 我不能完全弄清楚什么是错的,并且相信我的代码是稳定的,显然不是。 Private Sub Button2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Dim excel As Object = AutomationFactory.CreateObject("Excel.Application") excel.visible = True Dim workbook As Object = excel.workbooks workbook.add() Dim sheet As Object = excel.activesheet Dim cell As Object = Nothing Dim i As Integer = 1 'populate the excel sheet For Each item In ActivityTypeCountDataGrid.ItemsSource […]

使用VB.NET写公式来优化单元格(这个代码有什么错误?)

我想从一个excel工作簿的工作表中总结一个范围,并将其写入另一个工作簿。 我想出了一个下面的代码,但它不工作。 1)它打开一个文件打开窗口,要求我select工作簿更新 2)select一个工作簿后,写入“0”作为一个值。 码: Dim xl1 As New Excel.Application Dim xl2 As New Excel.Application Dim wb1 As Excel.Workbook Dim wb2 As Excel.Workbook Dim st1 As Excel.Worksheet Dim st2 As Excel.Worksheet wb1 = xl1.Workbooks.Open("F:\excelsumtest\file1.xlsx") wb2 = xl2.Workbooks.Open("F:\excelsumtest\file2.xlsx") st1 = wb1.Worksheets(1) st2 = wb2.Worksheets(1) st2.Cells(1, 1).formula = "=Sum(st1!A1:S1)" 干杯

VB.NET访问数据库插入不插入数据?

我试图插入一个表,我在Access中的表。 该表名为Site,它有两列,SiteId(AutoNumber)和SiteName(Text)。 出于testing的目的,我从Excel工作表中抓取了一个值,并尝试用下面的代码将值插入到SiteName列中。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim App As New Excel.Application Dim WB As Excel.Workbook = App.Workbooks.Open("C:\MyFile.xlsx") Dim WS As Excel.Worksheet = DirectCast(WB.Worksheets(2), Excel.Worksheet) App.Visible = False Dim Range As Excel.Range Range = WS.Range("A8") Dim cnn As New OleDbConnection(My.Settings.cnn) Dim cmd As New OleDbCommand("INSERT INTO Site(SiteName) […]

错误从服务器收到的消息无法parsing

所以我正在做的是使用epplus创build一个excel文件并保存到response.outputstream 由于某些原因代码打破了给我一个错误。 我不知道我在做什么错。 Using package As New ExcelPackage(newFile) ' add a new worksheet to the empty workbook Dim worksheet As ExcelWorksheet = package.Workbook.Worksheets.Add("Analysis") Dim worksheet2 As ExcelWorksheet = package.Workbook.Worksheets.Add("Data") 'Add the headers worksheet.Cells(1, 2).Value = "Key Performance Indicators" worksheet.Cells(1, 6).Value = MWHtotal & "MW Hours" worksheet.Cells(2, 3).Value = "Before Deslag" worksheet.Cells(2, 4).Value = "After Deslag" […]

用oleDb读取Excel编号的范围

我试图从第4行开始在B-E列中select所有内容,其中第4行是标题。 我的工作表名称是“PRODUCTION_Insurer索引”。 到目前为止,我的研究已经暗示,因为我的工作表名称中有空格,所以我需要用单引号将其包装在一起,并在最后添加一个$,这导致了以下SQL: select*从['PRODUCTION_Insurer指数$']select一切就好了。 我在实际select范围时遇到了麻烦。 此外,我研究了范围,并认为与Sheet1这样的名称,我可以做SELECT * FROM [Sheet1 $ B4:E]或类似的select一个范围 但是,以下SQL全部失败,出现错误: Microsoft Jet数据库引擎找不到对象''PRODUCTION_Insurer索引$ B4:E''。 确保对象存在,并且正确拼写其名称和path名称。 SELECT * FROM ['PRODUCTION_Insurer Index $ B4:E'] SELECT * FROM ['PRODUCTION_Insurer Index $'B4:E] SELECT * FROM ['PRODUCTION_Insurer Index'$ B4:E] SELECT * FROM ['PRODUCTION_Insurer Index $ B4:E313'] SELECT * FROM ['PRODUCTION_Insurer Index $'B4:E313] SELECT * FROM ['PRODUCTION_Insurer Index'$ B4:E313]

为什么Excel工作表名称有(2)在里面?

我正在使用下面的VB.NET代码复制同一个工作簿中的Excel工作表,但每次都用(2)写入表名,这里有什么问题? Dim inp as Integer inp=Val(Textbox1.Text) oWB = oXL.Workbooks.Open("D:\testfile.xlsx") oSheet = oWB.Worksheets("base") With oWB For i = 0 To inp – 1 oSheet.Copy(Before:=.Worksheets(i + 1)) With oSheet .Name = "INP" & i + 1 End With Next End With 如何摆脱名单上的“(2)”? 谢谢

Excel应用程序不退出

嗨检查我的代码我自动上传从Excel中的VB.NET这里是我的代码 导入语句 Imports Excel = Microsoft.Office.Interop.Excel releaseObject函数 Private Sub releaseObject(ByVal obj As Object) Try System.Runtime.InteropServices.Marshal.ReleaseComObject(obj) obj = Nothing Catch ex As Exception obj = Nothing Finally GC.Collect() End Try End Sub button点击事件 Protected Sub ButtonUpload_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonUpload.Click If IsPostBack Then Dim xlApp As Excel.Application Dim xlWorkBooks As Excel.Workbooks […]

数据库查询到一个Excel文件

我在这里有一个在VB.NET的代码。 该代码使程序能够从MS ACCESS database进行查询并将其保存到Excel File(.xls)并提示用户是否要打开该文件。 代码工作正常,但我有一个问题,当文件已被打开。 列没有自动适合其内容,使文件如此混乱,我也想让用户有一个选项来打印文件。 有什么办法可以解决我的问题吗? 如果您有任何澄清,请随时询问。 If (Not Directory.Exists("C:\Sales Monitoring Report")) Then Directory.CreateDirectory("C:\Sales Monitoring Report") End If System.IO.File.Delete("C:\Sales Monitoring Report\Transaction.xls") Dim createExcelFile = "SELECT ORNumber, UserID, TransactionID, Vatable, Tax, Amount, TransactionDate, Status INTO [Excel 12.0;HDR=YES;DATABASE=C:\Sales Monitoring Report\Transaction.xls].[Sheet1] FROM tbl_transaction" ExecNonQuery(createExcelFile) If MessageBox.Show("Do you want to open the file?", "Open File", MessageBoxButtons.YesNo) = […]