Tag: vb.net

如何从列表框中将所选值(一次一个)添加到特定的Excel列

我正在使用包含文件夹名称的列表框。 我需要从列表框中select一个名字(一次一个,保持select的顺序)并将其添加到excel列A1,这样每次添加到列A的下一个空单元格。我对vb并需要帮助。 以下是我尝试的方法。 方法1) Sub AddRecord_Click() With Sheet1.ListBox1 For intIndex = 0 To .ListCount – 1 With ActiveSheet LastRow = .Cells(.Rows.Count, "F").End(xlUp).Row End With If .Selected(intIndex) Then Sheet1.Cells(LastRow, "A") = Sheet1.ListBox1.Value NextRow = LastRow + 1 End If Next End With End Sub 方法2) Sub AddRecord_Click() intRecord = (CInt(Range("A1").End(xlDown).Row) + 1) Sheet1.Cells(intRecord, "A") = Sheet1.ListBox1.Value […]

“不是合法的OleAutdate”BulkCopy / Excel 2013 – SQL Server

我正在开发一个将Excel导出到SQL Server的应用程序。 我正在使用SqlBulkCopy ,但我面临着这个错误 不是合法的OleAutdate 只是在一些电脑上。 我已经在寻找一个解决scheme,但是很难。 我认为这个问题是因为来自excel的date信息。 我试图在文本上添加一行Excel,并将所有信息上传为文本,但date上载为“#######”。 请有人可以帮我解决这个问题吗? Public Shared Sub ImportDataFromExcel_DAL(ByVal excelFilePath As String) 'Select From Excel Dim ExcelDataQuery As String ExcelDataQuery = "SELECT [CustomerPO] ,[Line] ,[Sign Date] FROM [Sheet1$] WHERE [CustomerPO] IS NOT NULL" 'Excel Connection Dim sExcelConnectionString As String = (Convert.ToString("provider=Microsoft.ACE.OLEDB.15.0;data source=") & excelFilePath) + ";extended properties=" + """excel 12.0 […]

添加Excel工作簿到VB.NET应用程序

我有一个用Vb .NET编写的项目,其中我从用户那里获取input,打开一个Excel模板,并用主窗体中的input运行一个macros(vba)。 我可以使用模板的path完成所有这些工作,但是在发布时我需要它作为项目的一部分。 这是我的path版本代码(删除多余的代码): Imports Excel = Microsoft.Office.Interop.Excel private sub OpenExcel() Dim objApp As Object Me.Hide() objApp = CreateObject("Excel.Application") objApp.WorkBooks.Open("ExampleWorkBook.xlsm") objApp.visible = True objApp.Run("MacroName", Var1, Var2) Me.Close() End Sub 我发现这篇文章,但它不工作,也许是因为我的模板是在一个文件夹(它位于form1.vb等相同的位置)。 我的模板必须与其他文件分开,以便于查找。 如果任何人能够以这样的方式为我提供解决scheme/修改其他post的代码,我会非常感激 我使用链接后的Visual Studio 2017和Excel 2010代码: Dim filename as String = My.Application.Info.DirectoryPath & System.IO.Path.DirectorySeparatorChar & "WorkbookName.xlsx" Process.Start(filename)

System.TypeInitializationException对Class的FORM访问

我正在一个项目,我需要调用一个类,我创build和pipe理一个Excel文件。 但是对于未定义的原因,我不能从我的FORM中调用这个函数。 它返回一个exception,如下所示:System.TypeInitializationException。 我已经检查了我的class级,但是我没有看到什么是错的。 我想要调用我的Excel_Management类的表单: Imports System.Diagnostics Imports System.Windows.Forms Public Class Proc_Form Private excel_Manage = New Excel_Management Public Shared ok As Boolean = New Boolean If My.Settings.check_Directory = False Then If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then My.Settings.path = FolderBrowserDialog1.SelectedPath My.Settings.check_Directory = True 'My.Settings.Save() MsgBox(My.Settings.path) excel_Manage.check_Excel() End If Excel_Management类: Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop.Excel Imports System.Windows.Forms Imports System.Text.RegularExpressions […]

如何使用excelmacros来使用Newtonsoft库

在我的Excel表格中,我写了一个excelmacros。 在Visual Studio中,我有一段VB.net代码,使用Newtonsoft从REST APIparsingJson响应。 我正在使用用户表单在Excel单元格(我的VBAmacros)中获取评论。 这个VBA项目本身可以使用牛顿软件库吗? 有没有其他的方法来parsing我的Excelmacros中的JSON? 我的macros Private Sub CommandButton2_Click() Selection.ClearComments Selection.AddComment Text:=TextBox1.Text Unload Me End Sub 我的VB.net代码 Imports System.IO Imports System.Net Imports Newtonsoft.Json 'Classes for Json response of my service 'Sample Json from DIS: '{"A": {"B":1}, "A1": {"B1":"1"}} Public Class JSON_Response Public a As A Public a1 As A1 End Class Public Class […]

VB只考虑一个Excel列

我有一个如此划分的Excel文件:一列代码,一个描述,一个价格和一个大小。 在VB中,我必须select每个字段,并导出到由我创build的Access数据库。 如果我使用说明列,我有一个问题:VB认为每一行像他们只有一个,所以我有我的数据库的一列中的每个产品的完整描述。 在上面的例子中,我可以试着更好地解释我所说的。 我想要的是描述是正确报告每个产品。 这是我写的代码: Private Sub Importa_XLS(ByVal fileData As String, ByVal dbVuoto As String, ByVal dbDest As String) If My.Computer.FileSystem.FileExists(dbDest) Then My.Computer.FileSystem.DeleteFile(dbDest) My.Computer.FileSystem.CopyFile(dbVuoto, dbDest) Dim capitoli As New cCapitoli Dim paragrafi As New cParagrafi Dim voci As New cVoci Dim total As Integer Dim fileStream As FileStream = New FileStream(fileData, FileMode.Open) Dim file(fileStream.Length) […]

当在MS Excel中查看时导出为CSV问题时出现VB .Net

我遇到了一些非常奇怪的事情。 当导出为CSV时,我的顶行显示了引号,而下面的行显示了引号。 我使用UTF8编码并手动将双引号添加到该值,以便用引号括起来。 正在使用的代码是 Dim fs As New IO.FileStream(GenericValueEditorExportFilename.Value, IO.FileMode.Create) Dim writer As New IO.StreamWriter(fs, Encoding.UTF8) fs.Write(Encoding.UTF8.GetPreamble(), 0, Encoding.UTF8.GetPreamble().Length) …. …. …. While reader.Read If reader("TargetLanguageID") = targetLanguageID Then writer.WriteLine(Encode(reader("SourcePhrase")) & ", " & Encode(reader("TargetPhrase"))) End If …. …. …. Friend Shared Function Encode(ByVal value As String) As String Return ControlChars.Quote & value.Replace("""", """""") & […]

vb.net 2010 Excel将文本字段转换为十进制

我正在创build一个从vb.net listview表中的excel对象,只需创build一个F(x,y)的数组,创build一个范围,并将数组中的值放在范围内,如下所示。 shXL.Range(Startcell,AEndCell).Value = F 然而,其中一些字段是数字,我希望他们被格式化到两位小数和EXCEL识别他们作为小数 我最终在Excel工作表中有很多绿色的三angular形告诉我他们是文本字段。 如何转换范围与表格A5,I20被格式化为小数。 我试过:(x,y).numberformat =“00.00”,它的作用是将格式设置为2dp,但仍将文本视为单元格。 此外,Excel的范围可以吗? 可能如何? 感谢您的帮助!

(Visual Basic和Excel)如果单元格A1中包含某些内容,如何将特定值放入单元格A2中

我正在编写一个代码,以从简单的3文本框forms获取信息并将其保存到Excel工作表中。 我目前的代码如下: Private Sub Button1_MouseClick(sender As Object, e As MouseEventArgs) Handles Button1.MouseClick Dim oExcel As Object Dim oBook As Object Dim oSheet As Object oExcel = CreateObject("Excel.Application") oBook = oExcel.Workbooks.Add oSheet = oBook.Worksheets(1) oSheet.Range("A1") = TextBox1.Text oSheet.Range("B1").Value = TextBox2.Text oSheet.Range("C1").Value = TextBox3.Text oBook.SaveAs("Book1.xlsx") oExcel.Quit TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" End Sub […]

使用VSTO在Excel中更新绑定的数据表很慢

我有一个Excel VSTO应用程序在内存中存储一​​个大的数据表,并将其中的一部分绑定到表。 用户可以更改他们select显示的字段,并定期进行批量更新。 大规模更新循环通过数据表更新几个字段。 这个更新过程似乎很慢(即更新40个奇数logging可能需要20秒)。 数据表是相当大的(10000行×450列),绑定到一个隐藏表和一个较小的视图(20个字段)绑定到一个可见的工作表。 数据表的所有更新都是在代码中完成的。 ProductRow = dt.Rows.Find(foundRows(i)("Primary Key")) If IsNothing(ProductRow) = False Then ProductRow("DECISION") = "Some Value" Updated += 1 End If 我怀疑它只是大量的数据绑定到工作表,这减慢了这个过程,但是任何提高速度的build议都是非常受欢迎的。