Tag: vb.net

VB.Net:作为文本写入Excel工作簿

我写了以下function… Public Function writeAUTLSheet(doc As XDocument, myNameSpaces As Dictionary(Of String, XNamespace), theSheet As Excel.Worksheet) 'Grab the number of the last row to not overwrite Dim rowNumber As Integer = getLastRow(theSheet) For Each myName As XElement In doc.Descendants.Elements(myNameSpaces("ns4") + "autl") theSheet.Cells(rowNumber, 1) = doc.Descendants.Elements(myNameSpaces("ns") + "number").Value theSheet.Cells(rowNumber, 2) = myName.Descendants(myNameSpaces("ns") + "id").Value theSheet.Cells(rowNumber, 3) = myName.Descendants(myNameSpaces("ns") […]

在Excel文件上写入TimeSpan

我正在做一个vb.net程序,我在Excel文件上写了一些数据。 这到目前为止不是问题! 但是,在文件上写TimeSpans时遇到了麻烦。 例如,在代码上: Sub DataExport() 'Create a bridge between Console and Excel: Dim ExcelBridge As Excel.Application ExcelBridge = New Excel.Application Dim NewWorkbook As Excel.Workbook = ExcelBridge.Workbooks.Open("P:\HelpDesk\Definitions\Models\RPMAN.xlsm") NewWorkbook.Application.DisplayAlerts = False 'Create Desktop folders if they don't exist: If Dir(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Reports", vbDirectory) = "" Then MkDir(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Reports") End If If Dir(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\Reports\HelpDesk", vbDirectory) […]

导出ListView到Excel – 苦苦挣扎的performance

我试图优化我前段时间编写的应用程序的输出,虽然我在许多方面取得了很大成绩,但我正在努力加快将列表视图的结果导出到.xlsx文件的function。 我正在使用Interop来完成它,如下所示: Imports Excel = Microsoft.Office.Interop.Excel Imports System Imports System.IO Imports System.Data.OleDb Imports System.Threading Imports System.Linq Imports System.Data.SqlClient 这是在listview中输出数据的函数: Private Function ExportListViewTab5ToXLSxFile(ByRef FileNameWithoutExtension As String, ByRef OutputDir As String) As Boolean Try Dim objExcel As Excel.Application = New Excel.Application Dim bkWorkBook As Excel.Workbook Dim shWorkSheet As Excel.Worksheet Dim i As Integer Dim j As Integer […]

在VB.NET中格式化Excel

我使用ClipboardCopyMode在Excel中导出DataGridViews。 但是,我想格式化标题和单元格宽度/高度,因为单元格不正常调整。 另外,我想在DataGridView中添加一些数据。 这是我有的子代码: Dim appExcel As Excel.Application Dim wbExcel As Excel.Workbook System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("es-US") If Combo.SelectedValue.ToString().Trim() = "Something" Then dgv.SelectAll() dgv.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText Clipboard.SetDataObject(dgv.GetClipboardContent()) End If appExcel = New Excel.Application appExcel.SheetsInNewWorkbook = 1 wbExcel = appExcel.Workbooks.Add appExcel.Visible = True wbExcel.Worksheets(1).Range("A3").Select() wbExcel.Worksheets(1).Paste() 我如何做这些事情,美化我的导出的Excel? 提前致谢

VB.Net:在Excel单元格中插入checkbox

我试图从一堆不同的数据源中制作一个阅读器友好的Excel电子表格。 其中的一部分就是将checkbox添加到特定列中的每一行。 我相信这不能通过“单元格”来完成,而是通过电子表格上的位置来完成。 我试过… Dim cb As ICheckBox = protoWorksheet.CheckBoxes.AddCheckBox(4, 2, 15, 100) cb.CheckState = CheckState.Checked cb.Text = "Test" 但收到以下错误: Microsoft.VisualBasic.dll中发生了typesSystem.MissingMemberException的未处理的exception“附加信息:未findtypes为”CheckBoxes“的公共成员”AddCheckBox“。 任何帮助深表感谢!

在Excel中粘贴之前修剪文本

我想使用剪贴板类从VB.NET中的TextBox粘贴一个string到Excel工作表: txtBox.SelectAll() Clipboard.SetText(txtBox.SelectedText) Sheet.Range("B5").Select() Sheet.Paste() 但是,我最终在Excel应用程序中获得的string非常庞大,因为它以多个不必要的空格结束,而我用来粘贴它的列看起来非常难看。 有一种方法来修剪或删除使用VB.NET复制的string中的空白/空格? 提前致谢 编辑:现在我有一个新的问题相关。 如果我有一个DataGridView,并遭受同样的问题,我怎么可以修剪在这种情况下的文字? 这是我的代码: dgv1.SelectAll() dgv1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText Clipboard.SetDataObject(dgv1.GetClipboardContent())

VB.NET在excel中删除string中最后一个字符的具体数目

我有一个专栏,我有一个ID。 我必须从一个文件与其他数据匹配,但是在一个表中有纯ID,另一个是ID +年,所以我必须删除该列的每个单元格中的最后四个字符。 我试过这个: For i=2 to ArraySize ExWorkSheet.Cells(i, ColumnNumber) = ExWorkSheet.Cells(i, ColumnNumber).remove(len(string)-4,4) Next 这段代码有效,但速度很慢。 我在桌上有17k +行。 我也尝试过使用函数replace,因为它在整个范围内工作,所以它更快,但是它删除每个string2017(或2016等),即使它在ID中间。

VB.Net:在Excel单元格中插入数据validation

我试图以编程方式将下拉框添加到Excel工作表中的单元格。 对于一个非常简单的例子,我只需要下拉框给出“是”或“否”的选项。 谷歌search之后,听起来好像我可以很容易地通过在单元格中插入数据validation来做到这一点。 我遇到了如何做到这一点find一个例子的问题。 我发现的所有例子都过时了,太复杂了,或者不在VB.Net中。 当我说得太复杂时,我的意思是这不是一个简单的“是”“否”的情况。 他们在不同的工作表中使用实际的列。

如何获得总行数,但是当这个值在一个特定的列中重复的行不应该使用vb.net计算

我想知道Excel中的行数,但是如果值在“A”列中重复,则不应计数。 ABC aa 1 1 bb 2 2 aa 3 3 cc 4 4 bb 5 5 Total=3 Total=5 Total=5

读取/写入Excel文件Visual Studio 2017

我刚刚安装了微软Office 2010(我猜这有一些引用程序需要),我正在使用Visual Studio社区2017年,我需要添加什么参考来编写和读取.xslx文件? 编辑:Microsoft Excel 14.0引用刚刚出现在COM列表中,但我仍然无法创build一个文件。 我猜我现在需要导入一些东西?