Tag: vsto

将文本存储为数字

我有一个Excel工作簿,其中列C为数字存储为文本。 什么是C#语法将其转换为数字? 我知道这个VBA会做这个工作 Range("C:C").Select With Selection Selection.NumberFormat = "0.00%" .Value = .Value End With 而我用C#试了这个,但是它保留了以文本forms存储的数字。 ExcelWorksheet ws3 = pck.Workbook.Worksheets.Add("New Sheet"); ws3.Cells["A1"].LoadFromDataTable(tableforme, true); ws3.View.FreezePanes(2, 4); ws3.Cells["C:C"].Style.Numberformat.Format = "#,##0.00"; ws3.Cells["C:C"].Style.Numberformat.Format = "0%"; 在C#中我必须做些什么才能将以数字forms存储为文本的列进行转换。

VSTO加载项中的Excel文档版本

我经常使用基于VSTO Excel模板的解决scheme。 我喜欢这个项目types的一件事是,我可以在Excel模板或工作表中使用caching的数据集来处理在用户保存文件后仍然存在的应用程序状态。 但是,caching的数据集会产生问题:文档的模式绑定到应用程序版本。 这并不是一个大问题,但是我意识到创build一个机制可以读取打开的Excel文档的版本,以便检测和处理版本不兼容的问题。 例如,如果我的2.1插件打开一个1.5文档,caching数据的模式将不符合预期。 是否有一个标准的或推荐的方式来版本的Excel模板或工作表? 如果没有,有没有人有如何做到这一点的build议?

如何在Excel 2007 VSTO中使用VB生成单元格单击事件?

那么我浏览了Excel 2007中的应用程序事件,但是我找不到在单元格单击中生成的任何事件。 由于应用程序的限制,目前我无法使用双击事件。 有没有一种方法可以创build一个自定义的单击事件,并将其附加到工作表以生成单元格单击事件。

如何将Excel工作表复制到新的工作簿中,并将所有图表,图像等?

我们的应用程序有分配function 它需要几个Excel 2007电子表格,将它们复制到一张表中,然后通过电子邮件发送给用户。 问题是图像和图表不能复制。 我尝试了一切,我可以find在这里和其他各种来源,但遗憾的是似乎没有任何工作。 我们的应用程序是使用VSTO编写的,我也尝试过OpenXML,但似乎没有任何工作。 事实上,在OpenXML中进行复制会导致文件严重损坏,导致Excel无法读取或恢复文件。 这里是我们使用的代码(注意:我们有ExcelWrapper只是调用Excel应用程序的相同function,但隐藏所有可选项目)。 private void CreateWorkbook(string filePath, string batchReportsPath) { //place the xlsx file into a workbook. //call getfilesnames Excel.Workbook bookToCopy; Excel.Workbook newWorkbook; Excel.Worksheet tempSheet = new Excel.Worksheet(); newWorkbook = ExcelWrapper.WorkbooksAdd(ExcelApp.Workbooks); if (File.Exists(filePath)) File.Delete(filePath); ExcelWrapper.WorkbookSaveAs(newWorkbook, filePath); List<string> filePaths = new List<string>(Directory.GetFiles(batchReportsPath)); filePaths.ForEach(delegate(string reportPath) { string reportPathAndName = reportPath; bookToCopy = […]

查看所有Excel 2010exception

我有一个VSTO Excel 2010工作簿项目,它可以在除一个之外的所有PC上工作。 附加的自定义用户控件不在工作簿上。 我注意到,C#中的exception被抑制,我还没有find他们可以被看到的地方。 有没有Excel错误日志这样的事情? 我如何打开所有错误信息?

如何安装/部署在C#.net中开发的VSTO Excel 2010插件?

我已经在C#.net中开发了一个使用VSTO的excel插件,现在我想在其他机器上部署这个插件。所以安装了这个插件的用户可以在excel菜单中看到我的插件 – > Addins-> MyAddin 或者,我可以给他们只是与myaddin Excel。所以谁拥有这个Excel可以访问插件并使用它。这样他们就不会在每个Excel文件插件菜单中看到myaddin。

Excel.Range在C#中的string转换

使用.NET的Office互操作库,有没有人知道在string之间来回转换的最佳方式(例如“A57”,“$ L $ 2:$ M:$ 3”)和相应的Excel.Rangetypes的对象? 奖励点,如果它也适用于“命名范围”。

在c#中访问Excel单元格的值

单元格A1包含值“= A2”单元格A2包含“Microsoft”。 当我通过C#访问单元格A1时,我得到“Microsoft”。 如何访问单元格A1的“= A2”值? Microsoft.Office.Interop.Excel.Range cell //it points to address A1 object obj=cell.Value2; //Here obj contains "Microsoft" but I want "=A2"

VSTO Office(Excel)加载项 – WPF XAML样式,ResourceDictionary

我想用Windows安装程序部署我的VSTO Office Excel加载项。 我创build了安装程序并在虚拟PC上安装了加载项,以对其进行testing。 现在我有问题,风格不工作,但如果我debugging或在Visual Studio中运行它确实工作。 例如,我创build了一个这样的样式: <Style TargetType="{x:Type Button}"> <Style.Setters> <Setter Property="Background" Value="Snow" /> <Setter Property="Width" Value="50" /> <Setter Property="Height" Value="25" /> <Setter Property="Margin" Value="5" /> </Style.Setters> </Style> 现在我将ResourceDictionary(与其中的样式)合并到窗口的ResourceDictionary中: <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/assembly;component/UI/Resources/Style.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Window.Resources> 它只能在安装后才起作用,当我使用“样式”的“键”并将“样式”直接设置为“控件”时。

Excel VSTO Addin显示/隐藏任务窗格

我在这里做教程。 一切正常,一个空白的Excel页面 https://msdn.microsoft.com/en-us/library/bb608590(v=vs.120).aspx 当我加载一个Excel表格,有人给我,去点击toggleButton1来显示我得到的窗格 {“任务面板已被删除或不再有效。”} 在线上 private void toggleButton1_Click(object sender, RibbonControlEventArgs e) { Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked; } 指向该任务窗格的指针是否会消失? Microsoft.Office.Tools.CustomTaskPane PartPhotoTaskPane; Globals.ThisAddIn.Application.WindowActivate += Application_WindowActivate; void Application_WindowActivate(Excel.Workbook Wb, Excel.Window Wn) { if (PartPhotoTaskPane != null) { PartPhotoTaskPane.Dispose(); InitalizePartPhotoViewerTaskPane(EPPF); } else { InitalizePartPhotoViewerTaskPane(EPPF); } } /// <summary> /// Start up the part photo viewer task pane /// </summary> […]