我正在使用VS2008,C#,与WPF应用程序(WebBrowser和Microsoft.Office.Interop.Excel)我有一个任务:托pipe在WPFforms的Excel模式只读。 我怎样才能做到这一点: 首先1.在WebBrowser中加载Excel文件 Uri _uri = new Uri("FilePath"); WebBrowserExcel.Navigate(_uri); Next 2.在事件WebBrowserExcel_LoadCompleted中 if ((WebBrowserExcel.Document as Excel.Workbook) == null) return; try { //Get loading WorkBook and set "Protect" for disable editing _Book = WebBrowserExcel.Document as Excel.Workbook; _Book.Protect("", Type.Missing, Type.Missing); //Set "Protect" for disable editing to WorkSheet foreach (Excel.Worksheet _sheet in _Book.Sheets) { _sheet.Protect("", Type.Missing,Type.Missing, Type.Missing,Type.Missing, true,Type.Missing, Type.Missing, […]
我想让我的WPF应用程序作为一个OLE对象,可以从MS-Excel插入和启动。 当我打开Excel-2003并转到Insert-> Object时,在Create New选项卡中显示OLE对象列表。 我想注册我的WPF应用程序作为一个OLE对象,以便它也显示在列表中。 用户可以从Excel文件中插入和启动应用程序。
我如何将我的DataGrid信息导出到.csv或excel文件? 我正在使用Microsoft Visual Studio 2010与.NET Framework 4.0。
在C#中,我怎样才能创build一个密码保护(用户必须input密码打开文件的所有).XLS文件没有安装Excel(因此不互操作)? NPOI和ExcelLibrary看起来很有前途(因为它们是免费的!),但是我似乎无法find任何地方是否实际上支持密码保护。 我不能使用EPPlus,因为它只处理.XSLX文件types,而不是我需要的.XLS。 另外,我想用数组来填充数据,而不是逐个单元格。 以下是我在过去使用Interop时所做的工作,比单元格方法快得多: object[,] data = new object[length, ColumnHeaders.Count]; … dynamic rg = excelApp.Sheets[p].Range[excelApp.Sheets[p].Cells[top, left], excelApp.Sheets[p].Cells[bottom, right]]; rg.Value = data;
在我的WPF应用程序,我有一个巨大的数据表( System.Data.DataTable ),我需要写入Excel文档中的工作表。 function的重要部分: for (; i < dt.Rows.Count; i++) { for (int colNum = 0; colNum < dt.Columns.Count; colNum++) newSheet.Cells[i + rowNumber, colNum + 1] = dt.Rows[i][colNum].ToString(); applyRowBorderStyle(newSheet, i + rowNumber, dt.Columns.Count); } dt是DataTable,neewSheet是我写入的excel表单,applyRowBorderStyle(..)将边界添加到行中的所有单元格。 数据表大时运行速度非常慢,可能需要10分钟甚至更多。 有什么办法让它跑得更快? 编辑:该程序分析了大量的数据,并使大量的表,我不能让用户做任何事情。 我只能使用Microsoft Excel。 这张表总是有42列,但行数根据程序接收的数据量而变化,约500行。 “applyRowBorderStyle”将使代码运行得更快一些,但不符合要求..我真的希望有另一种方式使其运行速度更快..
我正在使用WPF C#编写的应用程序来生成Excel工作表并绘制出一些数据。 xlXYScatterLines , xlXYScatterLinesNoMarkers , xlXYScatterSmooth , xlXYScatterSmoothNomarkers都很好。 除了总是生成的xlXYScatter将数据点与行(= xlXYScatterLines )连接xlXYScatterLines ,它应该只显示散点。 以下是我的代码。 Excel.ChartObjects xlCharts = (Excel.ChartObjects)oSheet.ChartObjects(Type.Missing); Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(350,20,500,350); Excel.Chart chartPage = myChart.Chart; chartPage.ChartType = Excel.XlChartType.xlXYScatter; 这是一个错误? [解决scheme – 不回答] 玩了两天之后,我意外地发现如果在定义图表types之前设置了源数据。 问题不会发生,xlXYScatter将显示为xlXYScatter,而不是xlXYScatterLines。 chartPage.SetSourceData(Range, Missing.Value); chartPage.ChartType = Excel.XlChartType.xlXYScatter; 我不明白为什么以及如何解决这个问题,因为在你定义图表之后直接定义源代码,而在相反的方面没有什么意义。 所以我认为这是一个解决scheme,但不是一个答案。 希望有人仍然可以回答这个问题。
我想用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> 它只能在安装后才起作用,当我使用“样式”的“键”并将“样式”直接设置为“控件”时。
我使用我的C#应用程序创build一些Excel文件,并保存在我的电脑。 我想在应用程序中打开并查看它们,我该怎么做? 我的应用程序是使用WPF C#
我发现了一个非常奇怪的问题,如果我使用ThreadPool获得.NET应用程序的渲染层,它将挂起一个非常简单的DDE调用。 在与Excel的DDE调用同时运行复杂的WPF应用程序时,发现问题。 我已经设法重现了几行代码,可以在下面find的问题。 C#.Net App //Need to reference PresentationCore.dll class Program { private static int _renderTier; static void Main(string[] args) { ThreadPool.QueueUserWorkItem(x => { _renderTier = RenderCapability.Tier; Console.WriteLine(_renderTier); }); Console.ReadLine(); } } Excel DDEmacros。 Sub Using_DDE1() ' Dimension the variables. Dim Chan As Integer Dim RequestItems As Variant ' Start a channel to Word using […]
当光标位于任务窗格之外时,不会引发Click事件forms的上下文菜单项。 我不知道如何得到它的工作。 90%的时间,点击是在任务窗格之外。 当上下文菜单打开时,子菜单通常显示在任务窗格之外(参见下图)。 在这种情况下,不会引发上下文菜单中的点击事件。 我绝对不知道如何做这个工作。 有任何想法吗?