Tag: visual studio 2013

从Excel工作簿中删除工作表时出错

我需要从C#中的Excel工作簿中删除一些工作表。 但是,我的代码不起作用。 // **aDeleteList** hold the sheets that need to be deleted from the workbook wbk static void delete_sht(ref MsExcel.Workbook wbk, List<string> aDeleteList) { MsExcel.Sheets my_st = wbk.Sheets; foreach (MsExcel.Worksheet s in my_st) { if (aDeleteList.Contains(s.Name)) s.Delete(); int t1 = my_st.Count; int t = wbk.Sheets.Count; } } t和t1的值不会改变 s.Delete() 已经执行。 任何帮助,将不胜感激。

debugging通过双击现有文件启动Excel VSTO加载项

我已经开发了Excel VSTO 4.0 C#加载项中的一个错误,但只有在双击现有文件才能启动Excel时才会发生。 我试图找出一种方法来启动VS2013debugging器,以便我可以放入一些断点,但是我没有尝试启动debugging器的方式,模拟双击文件启动Excel的过程。 到目前为止我尝试过的方法: 启动Excel本身,然后附加到过程 双击一个Excel文件,然后附加到生成的过程 在“启动操作”下的VS项目“debugging”属性中,在“启动外部程序”框中inputExcel Excel.exe的path,并在命令行参数框中input现有Excel文件的path 将Excel.exe作为新的现有项目添加到我的VS解决scheme中,将现有文件的path作为项目属性中的参数,将其设置为解决scheme的启动项目。 这些启动debugging器的方法都没有重现错误。 有没有另一种方法来启动debugging时,双击文件启动Excel? 对于它值得的,我遇到的错误是,当Excel尚未运行时双击现有文件时将会创build一个空的工作簿。 我需要找出哪里/为什么这个空文件正在创build。 如果Excel已经在运行,并且双击某个文件将其打开,则不会发生这种情况。

Excel中的数字格式不适用于EPPlus

之前和COM Interop Excel一起工作过,遇到同样的问题,在这里解决了 。 我现在面临与EPPlus库(版本4.0.4.0)相同的问题。 此代码应格式化输出文件中的数字: for (int i = 10; i > 27; i += 4) { //worksheetOut.Cells[String.Format("{0}:{1}", i, i + 1)].Style.Numberformat.Format = null; worksheetOut.Cells[String.Format("{0}:{1}", i, i + 1)].Style.Numberformat.Format = "€###.###.###"; } 给出了这个结果 我不知道如何使用从上面列出的问题的解决scheme,看到“唯一”的方式来设置这种格式是由一个string,所以我不能添加文化设置。 编辑: 显然你不能在整行上放置数字格式。 我试过这个代码: //range with only numbers, so no empty values or 'General' values worksheetOut.Cells["A18:F19"].Style.Numberformat.Format = "###.###.###"; 给出这个结果 ,我不认为我可以改变小数分隔符,而千分隔符.

尝试使用File.Move移动文件时出现FileNotFoundexception

我有超过2000 + MS Excel 2010 .XLSX电子表格的文件夹,我需要执行以下操作: 我需要打开每个单独的文件 复制单元格B4的内容(每个文件在单元格B4上都有唯一的内容)和 将单元格B4的内容附加到原始文件名称 我怎样才能解决这个错误,所以我可以成功地重命名我的电子表格如上所述? //file rename code DirectoryInfo d = new DirectoryInfo(@"C:\Torename\"); FileInfo[] infos = d.GetFiles(); foreach (FileInfo f in infos) { Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); Workbook wb = excel.Workbooks.Open(f.FullName); Worksheet excelSheet = wb.ActiveSheet; //Read the first cell string test = excelSheet.Cells[4, 2].Value.ToString(); File.Move(f.Name, new_filename); ***Thank you for […]