Tag: wpf

如何以只读模式打开Excel文件?

我正在使用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应用程序作为可embeddedMS Excel的OLE对象?

我想让我的WPF应用程序作为一个OLE对象,可以从MS-Excel插入和启动。 当我打开Excel-2003并转到Insert-> Object时,在Create New选项卡中显示OLE对象列表。 我想注册我的WPF应用程序作为一个OLE对象,以便它也显示在列表中。 用户可以从Excel文件中插入和启动应用程序。

将DataGrid导出为CSV或Excel

我如何将我的DataGrid信息导出到.csv或excel文件? 我正在使用Microsoft Visual Studio 2010与.NET Framework 4.0。

如何创build带有密码保护的Excel 2003(.XLS)文件,而不使用c#安装Excel?

在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;

更有效的方式来写入数据表到Excel?

在我的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”将使代码运行得更快一些,但不符合要求..我真的希望有另一种方式使其运行速度更快..

Excel xlXYScatter在由C#生成时具有行

我正在使用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,但不是一个答案。 希望有人仍然可以回答这个问题。

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文件并在WPF中查看?

我使用我的C#应用​​程序创build一些Excel文件,并保存在我的电脑。 我想在应用程序中打开并查看它们,我该怎么做? 我的应用程序是使用WPF C#

为什么我的Excel的DDE调用是在使用线程池获得.NET应用程序的渲染层之后挂起的?

我发现了一个非常奇怪的问题,如果我使用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 […]

VSTO WPF ContextMenu.MenuItem在没有引发的TaskPane之外单击

当光标位于任务窗格之外时,不会引发Click事件forms的上下文菜单项。 我不知道如何得到它的工作。 90%的时间,点击是在任务窗格之外。 当上下文菜单打开时,子菜单通常显示在任务窗格之外(参见下图)。 在这种情况下,不会引发上下文菜单中的点击事件。 我绝对不知道如何做这个工作。 有任何想法吗?