Tag: visual studio 2013

使用NPOI在打开的Excel应用程序上编写

乡亲, 环境 Windows 8.1 Visual Studio 2013 C# 问题 如何使用NPOI( https://npoi.codeplex.com/ )在可见的Excel工作表上编写值并制作图表。 我为什么要这样? 我正在开发一个应用程序来测量设备中的温度。 为了把实验数据放在一个地方,我想在Excel工作表上logging数据并在工作表上制作一个图表。 此外,我想保持Excel工作表可见,并检查实时更新的图表。 您还可以在National Instruments的Measurement Studio上创buildWindows窗体应用程序的graphics,但考虑到Excel图表的灵活性(大小和xy范围可变,易于使用的用户界面等),我想坚持Excel中。 您可以轻松地使用Microsoft.Office.Interop.Excel通过ExcelApp.visible = true; 。 但是,这个模块要求用户释放每个生成的COM对象。 否则,物体保持并消耗记忆。 这就是我更喜欢使用NPOI的原因。 我怎样才能做到这一点? 任何答案将不胜感激。

Excel VSTO项目从Office 2013升级到Office 2016后无法加载

使用VS 2013加载项目时出现以下错误(安装了Office 2016) 无法创build项目,因为与此项目types关联的应用程序未安装在此计算机上。 您必须安装与此项目types关联的Microsoft Office应用程序。 C#项目最初创build为使用VS 2013与Office 2013和运行时作为“Visual Studio 2010 Office for Office Runtime”工具的Excel工作簿。 .Net框架也没有改变。 按照https://msdn.microsoft.com/en-us/library/bb772080.aspx,一切看起来都不错 当我查看.csproj文件时,发现Office Dll,Office版本和ProjectProperties部分的下列引用指向升级到Office后不存在的C:\ Program Files \ Microsoft Office \ Office15 \ Excel.exe 2016年 我需要在.csproj文件中手动修复以获取项目加载的所有东西是什么? <ItemGroup> <Reference Include="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <Private>False</Private> </Reference> <Reference Include="Office, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"> <Private>False</Private> <EmbedInteropTypes>true</EmbedInteropTypes> </Reference> <Reference Include="Microsoft.Vbe.Interop, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"> <Private>False</Private> <EmbedInteropTypes>true</EmbedInteropTypes> </Reference> <Reference […]

date入住Vb.net

我有一个问题,在Excel中,一列中包含一个唯一编号,格式如下:mmdd后跟序列号01,02 ..例如:101201(10:月,12:今天的date,01:第一个条目),101202。 ,我需要的是,我的vb.net表单应该采取最后input的数据(例如:101202)检查是否是今天的date。 如果是,那么应该加1并显示在消息框中(是的,那么应该显示101203)。 如果不是,那么它应该采用当前date并从01开始(如果date是2016年10月13日,则为101301)。 我设法从上一行获取数据。 但是,我应该如何检查date? 请帮忙! Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click xlWorkBook = xlApp.Workbooks.Open("C:\Users\Desktop\testing.xlsx") 'xlApp.Visible = True xlWorkSheet = xlWorkBook.Sheets("Sheet1") Dim row As Long row = 1 With xlWorkSheet While .Cells(row, 2).value IsNot Nothing row = row + 1 End While 'MsgBox(row – 1) End With Dim r […]

使用vb.net保护excel中的单元格

我在Visual Studio 2013中有一个Excel表格和一个窗体窗体。这个窗体允许用户在Excel表格中input数据。 它将被多个用户共享。 我想要做的是在excel中的某些单元格(例如:列B到G)应该被locking,但是在这些单元格中的数据input应该被允许通过表单。 一旦用户打开Excel,他们可以编辑其他列,但不是这些列。 我locking了单元格,并在Excel中保护了工作表。 然后,在我的VB代码中,我添加了这些: Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click xlWorkBook = xlApp.Workbooks.Open("C:\Users\test.xlsx") 'xlApp.Visible = True xlWorkSheet = xlWorkBook.Sheets("Sheet1") xlWorkBook.Unprotect() 'entering data in excel xlWorkBook.Save() xlWorkBook.Protect() End Sub 我收到错误消息,说“您要input数据的单元格受到保护”。 像这样的东西。 我该怎么办? 请帮忙!!

刷新excel文件vb.net

我有一个在Visual Studio 2013中创build的表单,它将表单中的数据填充到Excel工作表中。 当用户在表单中input数据时,表格被打开。 我想要的是,当用户在窗体中input数据,并填充到Excel表单时,文件应刷新,以便大家可以看到。 该文件处于共享模式。 我试过了 xlworkbook.refreshall() 'xlworkbook is my excel workbook 但是它会抛出一个错误: Quote.exe中出现未处理的“System.Runtime.InteropServices.COMException”typesexception 附加信息:来自HRESULT的exception:0x800A03EC 我如何解决这个问题? 请帮忙!

包含'。'的Excel列名 转换成 '#'

我正在导入一个Excel文件,并试图让相同的数据集。 问题是,如果列名包含. 例如,如果导入后列名是Sr. No. ,则DataSet中显示的列名是Sr# No# 。 以下是代码: public DataSet ConnectExcel(string filetable) { DataSet ds = new DataSet(TABLE_NAME); string excelConnectionString; string extension = Path.GetExtension(filetable); if (extension == ".xls") { excelConnectionString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=YES\"", strCSVFilePath); } else { excelConnectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 xml;HDR=YES;\"", strCSVFilePath); } System.Data.OleDb.OleDbConnection oleDBCon = new System.Data.OleDb.OleDbConnection(excelConnectionString); try { […]

无法在不保存提示的情况下closuresExcel工作簿

您好,我有棘手的小问题,这使我很头痛,我有一段代码在VB.NET中,我需要closures当前的Excel工作簿,但每当我打电话给: 'Now force a close of the active workbook without saving _myXLApp.Workbooks(1).Close(Excel.XlSaveAction.xlDoNotSaveChanges) 另存为对话框显示…如何防止这种情况发生? 我对代码的理解是,如上所述进行调用应该closures工作簿而不用任何SaveAs提示。 任何帮助非常感谢。 亲切的问候paul J.

不能embeddedinteroptypes的“Microsoft.Office.Core …”

这个问题已经被堆栈溢出了多次,但所有的解决scheme都没有帮助我更进一步。 (改变“embedded互操作types”为false) 我不知道我做错了什么,但是突然之间我发现了200多个错误 在这里查看整个错误列表 我试着运行错误,得到不同的消息 ,它告诉我的.exe丢失,所以我试图重build它,但是这使我回到了开始。 这也给我“随机”铸造错误 ,在错误风暴之前,它的工作顺利..

使用excel范围查找返回types不匹配。 (从HRESULTexception:0x80020005(DISP_E_TYPEMISMATCH))

我正在使用Excel插件,我需要在列(由用户select)中search单元格(由用户select)上的值并将结果写入单元格(由用户select) 例如:如果单元格A2存在于行5,10,15中的列B中,则C2必须是5,10,15 我尝试使用此代码查找行时,面对错误 result = sheetName.Cells.Find(cellVal, SearchRange, Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlWhole, _ Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, _ Type.Missing, Type.Missing, Type.Missing).Row.ToString 和这个代码也一样 result = sheetName.Cells.Find(What:=cellVal, LookIn:=SearchRange.Value, SearchOrder:=SearchRange.Rows, _ SearchDirection:=Excel.XlSearchDirection.xlNext, MatchCase:=False, SearchFormat:=False).ToString 我的完整代码在这里 Dim xlapp As Excel.Application = Globals.ThisAddIn.Application Dim sheetName As Excel.Worksheet sheetName = Globals.ThisAddIn.Application.ActiveSheet Dim LastDataRow As Integer = sheetName.Range(cmbCheckDataCol.Text & sheetName.Rows.Count).End(Excel.XlDirection.xlUp).Row Dim LastCheckInRow As Integer = sheetName.Range(cmbCheckRngCol.Text & […]

Excel加载项C#获取活动单元格的值

我使用了Visual Studio 2013加载项模板,并使用一个简单的button创build了一个自定义任务窗格。 现在我正试图读取当button被按下时活动单元格的值。 这是我迄今为止: namespace CostCenterAddIn { public partial class CostCenterControl : UserControl { public CostCenterControl() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Excel.Window W = this.Application.ActiveWindow as Excel.Window; Excel.Range R = W.ActiveCell as Excel.Range; MessageBox.Show(R.Text.ToString()); } } } 我复制了这个例子: 使用VSTO读取Excel中的ActiveCell内容 但是,我收到以下错误: 'CostCenterAddIn.CostCenterControl'不包含'Application'的定义,并且没有find接受'CostCenterAddIn.CostCenterControl'types的第一个参数的扩展方法'Application'(你缺lessusing指令还是程序集引用?) 出于某种原因,我无法访问应用程序。 这是我的代码“ThisAddIn.cs”: namespace CostCenterAddIn { public partial class […]