Tag: excel interop

任何方式来设置Excel工作表中的最小单元格高度?

你好,我的问题是如何设置一个Excel工作表单元格的最小高度? 现在看起来像: 但它应该是这样的: 我到目前为止设置单元格高度: excelSheet.Columns[1].ColumnWidth = 16.14; 然后excelSheet.Columns[1].Autofit()但它被覆盖,所以我希望find一种方法来设置excelSheet.Columns[1].Autofit()的最小高度。 然后,我试图谷歌,但没有帮助出现。 对于他们合并的单元格 // Merge the Cells for the summary Box for (int i = 2; i <= 10; i++) { excelSheet.Range[excelSheet.Cells[startColumn + i, 1], excelSheet.Cells[startColumn + i, 10]].Merge(Missing.Value); } 然后用excelSheet.get_Range("A" + lineBreakAreaTop, "J" + lineBreakAreaBottom).WrapText = true; Mabey,这跟它有关系。 所以任何帮助或build议将是非常感谢您的时间。 对不起,我的英语。

如何解决在VB6 exe安装Office Interop程序集的问题?

我开发了一个使用VB6的交易应用程序。 在那里,我使用Excel应用程序对象如下(Excel.Application)。 Set xl = New Excel.Application Set xlwbook = xl.Workbooks.Add Dim xlsheet As Worksheet Set xlsheet = xlwbook.Sheets.Item(1) 而且,我已经使用高级安装程序创build了该VB6的exe的安装程序,并具有指向-O2010pia.msi (启用访问Excel.Application的选项)的Office 2010主互操作程序集的先决条件。 即使安装了Office 2010主互操作程序集,我也无法运行已安装的应用程序。 它会抛出Object Required错误。 注意:关于这一点我已经用google了,其中很多人提出了C#和/或VB .Net环境的解决scheme。 我想为VB6环境。 请帮我解决这个? 提前致谢。

互操作中没有xlOpenXMLWorkbook

我有一些代码试图使用Interop将.xls电子表格转换为.xlsx电子表格: public void Convert(string file) { var app = new Microsoft.Office.Interop.Excel.Application(); var wb = app.Workbooks.Open(file); wb.SaveAs(Filename: file + "x", FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook); wb.Close(); app.Quit(); } 但是,我收到一个错误,说xlopenxmlworkbook' is not a member of 'microsoft.office.interop.excel.xlfileformat' 这导致我无法保存.xls文件,因为Excel 2003不支持Excel 2003文件和.xlsx文件。 我有Office 2013安装,所以不应该是一个问题。 有没有办法将xlopenxmlworkbook添加到DLL或更新它? 或另一个解决方法?

为什么试图创build数据透视表(Excel Interop)失败?

根据我在这里find的代码,我试图创build一个像这样的数据透视表: var range = _xlSheet.Range[_xlSheet.Cells[6, 1], _xlSheet.Cells[6, _grandTotalsColumn]]; ListObject tbl = WriteToExcelTable(_xlSheet, "tbl", "A6"); var pch = _xlBook.PivotCaches(); pch.Add(XlPivotTableSourceType.xlDatabase, "Produce Usage by Month!A6:F94") .CreatePivotTable(tbl, "PivTab1", Type.Missing, Type.Missing); . . . public ListObject WriteToExcelTable(Worksheet WSheet, string TableName, string CellStr = "A1", bool ClearSheetContent = false) { Range range; if (ClearSheetContent) WSheet.Cells.ClearContents(); // clear sheet content // […]

Excel Interop COMException HRESULT:0x800A03EC访问隐藏的单元格时

我在使用Excel Interop在C#中访问Excel中的命名单元格时出现问题,当单元格被隐藏时,我像这样访问它: bool SomeBoolean = WorkSheet.Range["MyRangeName"].Value; 当我访问它时,Range属性隐式调用get_range ,这是根据堆栈跟踪抛出exception的。 用于直接调用get_range的代码,并有类似的结果。 如果我取消隐藏单元格,它工作正常。 如果我逐行通过代码,它可以正常工作(这总是令人沮丧的情况)。 当然,我可以通过取消隐藏单元格来解决这个问题,但我想尝试find一个更优雅的解决scheme。 我已经钻研了MSDN文档和几个线程在这里,但我似乎无法find任何东西。 任何帮助将非常感激! Worksheet.Range的MSDN页面: https : //msdn.microsoft.com/en-us/library/office/ff836512.aspx

Microsoft.Office.Interop.Excel如何得到正确的最后一行?

我正在尝试使用Microsoft.Office.Interop.Excel来获取我的excel文件的行号,这是40424行。 我已经尝试过下面的代码: 他们只返回38304,这是不正确的。 什么是正确的方法来获得正确的行号?

禁用Excel保存更改提示

我已经尝试了所有的方式,我通常这样做,我可以findsearch。 oxl.DisplayAlerts = False不起作用。 我仍然被问到是否要保存更改。 我本质上是试图使用Excel表格作为模板。 完整的脚本导出到pdf,但这足以重新创build问题。 顺便说一句我试着将它保存为一个xltx文件(模板),仍然得到保存promt。 Dim oxl As New Excel.Application Dim apppath2 As String = My.Application.Info.DirectoryPath.ToString Dim mywb As Excel.Workbook = oxl.Workbooks.Open(Filename:=apppath2 & "\fuse template.xlsx", [ReadOnly]:=True) oxl.Visible = False Dim mysheet As Excel.Worksheet = mywb.Sheets(1) mysheet.Cells(10, 5) = l_region.Text mysheet.Cells(11, 5) = comb_emc_name.Text oxl.DisplayAlerts = False mywb.Close(False) mysheet = Nothing mywb = […]

C#:如何将Excel单元格范围和图表数据复制到电源点幻灯片

我有Excel工作表中的数据和图表,我需要在运行时从Excel复制到电源点幻灯片。 我有一个代码工作正常,但代码只能复制图表数据,Excel表格范围数据。 请看我的Excel的镜头。 所以,任何人都有一个想法是如何在我的工作表中的数据,我需要以编程方式复制到PowerPoint幻灯片。 这里是我用来dynamic地将范围数据和图表数据复制到PowerPoint的代码。 private void Form1_Load(object sender, EventArgs e) { pptNS.ApplicationClass powerpointApplication = null; pptNS.Presentation pptPresentation = null; pptNS.Slide pptSlide = null; pptNS.ShapeRange shapeRange = null; xlNS.ApplicationClass excelApplication = null; xlNS.Workbook excelWorkBook = null; xlNS.Worksheet targetSheet = null; xlNS.ChartObjects chartObjects = null; xlNS.ChartObject existingChartObject = null; xlNS.Range destRange = null; string paramPresentationPath = […]

如何声明全局variables以从任务pipe理器中杀死第二个EXCEL.EXE

以下代码在任务pipe理器中打开两个EXCEL.EXE。 当Form1closures时,我想从任务pipe理器中杀掉第二个打开的EXCEL.EXE。 Imports Microsoft.Office.Interop Public Class Form1 Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load 'Kill all EXCEL.EXE process from Task Manager For Each prog As Process In Process.GetProcessesByName("EXCEL") prog.Kill() Next Dim FirstxlApp As New Excel.Application 'Open first EXCEL.EXE in the Task Manager Dim datestart As Date = Date.Now Dim SecondxlApp As New […]

将一个单元格的样式/格式复制到另一个单元格Excel Interop C#

我想将Cell格式/样式复制到另一个单元格就像Excel应用程序中的“Format Painter”选项一样 这是我已经尝试,但没有工作 Microsoft.Office.Interop.Excel.Style HeaderStyle = null; SxlSheetRange = (Microsoft.Office.Interop.Excel.Range)xlTamplateWorkSheet.UsedRange[rowCnt, colCnt]; DxlSheetRange = (Microsoft.Office.Interop.Excel.Range)xlTamplateWorkSheet.UsedRange[DrowCnt, DcolCnt]; HeaderStyle = SxlSheetRange.Style; DxlSheetRange.Style = HeaderStyle; 我不想复制只是想像样式单元格就像在Excel中的“格式画家”选项。