Tag: .net

链接到左上angular链接单元格的Excel工作表

我在.NET应用程序中生成Excell电子表格。 该文件有两张纸。 第一个是与第二个表格中数据深层链接的封面。 当一个链接被点击时,第二张表单打开到该单元格,单元格的位置在左下angular。 我需要它打开右上angular的单元格。 我很确定在产生文件的.NET代码中没有办法做到这一点。 (但是,如果我错了,请告诉我。)但是,我find了一些其他的讨论,这个解决scheme似乎是增加一点,但VB代码的Excel文件本身。 意思是指用于播种数据并生成最终文件的模板文件。 代码如下: Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) Application.Goto ActiveCell, True End Sub 事情是,我真的不知道该怎么做这个代码。 我可以从一些分步说明中受益……就像假设我是一个完全白痴的新手,当涉及到Excel(实际上,我是)。 谢谢!!

导入具有2000列的Excel

我用OleDb导入有2000列的Excel文件。 所以通过使用这段代码,我可以在我的DataTable中只有255列。 我想要一些其他的方式,或者如果可能的话,这样我的DataTable 2000列。 DataTable dtExcelRecords = new DataTable(); using (OleDbConnection con = new OleDbConnection(connectionString)) { con.Open(); DataTable dtSheet = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); List<string> listSheet = new List<string>(); foreach (DataRow drSheet in dtSheet.Rows) { if (drSheet["TABLE_NAME"].ToString().Contains("$")) { listSheet.Add(drSheet["TABLE_NAME"].ToString()); } } string workSheetName = listSheet.FirstOrDefault(x => x.Contains(cCommon.sFDDetailsWorkSheetName)); OleDbCommand cmd = new OleDbCommand(string.Format("SELECT * FROM [{0}]", workSheetName.Trim()), con); […]

在读取Excel表格数据的同时保留空列名称

我正在阅读一个excel文件并将内容保存到数据库。 我有两列,第一列名是空白,第二列名是A.两列都有它下面的行。 当我使用oledbconnection执行"select * from ["+excel[i]+"]")时, 空列自动replace为F1。 我需要列表和数据,因为它可以从Excel工作表中获得。 如何避免它?

使用NPOI将数据从一页复制到另一页

我是新来的C#和Excel,我试图从一张表(这是充满了数据)复制到一个新的空的数据。 我正在使用NPOI,我已经想出了一些东西,但是在添加数据时遇到了问题。 第二张是空的,所以所有的单元格都是空的(如果我错了,请纠正我)。 当我尝试将数据从第一张表复制到第二张时,没有任何反应:单元格没有填充。 using (FileStream fs = new FileStream(@"C:\Users\MyDoc.xlsx", FileMode.Open, FileAccess.ReadWrite)) { XSSFWorkbook templateWorkbook = new XSSFWorkbook(fs); //Load the sheets needed var sheettoget = templateWorkbook.GetSheet("Sheet1"); var sheettoadd = templateWorkbook.GetSheet("Sheet2"); XSSFRow row = (XSSFRow)sheettoadd.CreateRow(0); var cell = row.CreateCell(0); var data = sheettoget.GetRow(0).GetCell(4).StringCellValue.ToString(); cell.SetCellValue(data); //the cell is not populated }

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

刷新excel文件vb.net

我有一个在Visual Studio 2013中创build的表单,它将表单中的数据填充到Excel工作表中。 当用户在表单中input数据时,表格被打开。 我想要的是,当用户在窗体中input数据,并填充到Excel表单时,文件应刷新,以便大家可以看到。 该文件处于共享模式。 我试过了 xlworkbook.refreshall() 'xlworkbook is my excel workbook 但是它会抛出一个错误: Quote.exe中出现未处理的“System.Runtime.InteropServices.COMException”typesexception 附加信息:来自HRESULT的exception:0x800A03EC 我如何解决这个问题? 请帮忙!

使用EPPlus更改订单yAxys

我正在做一个epplus的excel,需要在垂直条中生成两个graphics,如下图所示: 如您所见,在Y轴上,标签出现无序,从P6开始到P1结束。 我想得到相反的效果。 从P1开始,在P6结束 有什么财产可以改变订单吗? 还是应该用某种sortingalgorithm来sorting呢? 这是与生成图表有关的function public void dibujarGrafica6Periodos(ExcelWorksheet ws, CultureInfo idioma) { CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture; TextInfo textinfo = cultureInfo.TextInfo; var chart = ws.Drawings.AddChart("barChart2", OfficeOpenXml.Drawing.Chart.eChartType.BarClustered); chart.SetPosition(34, 0, 10, 10); chart.SetSize(940, 20*14); var serie1 = chart.Series.Add(ws.Cells["E36:E41"], ws.Cells["A36:A41"]); var serie2 =chart.Series.Add(ws.Cells["C36:C41"], ws.Cells["A36:A41"]); chart.Title.Text = "Consumo por Periodos – " + textinfo.ToUpper(DateTime.Now.ToString("MMMM", idioma)); chart.Title.Font.Color = System.Drawing.ColorTranslator.FromHtml("#4F81BD"); […]

OpenXML EmbeddedPackagePart和caching

我已阅读了所有关于在Powerpoint中更新链接到Excel数据的图表。 我已经成功完成了这一步 – 更新底层电子表格和编号caching。 我假设我目前的问题是非常相似的 – 只有我找不到caching! 也许有人可以把我指向正确的方向。 而不是一个Powerpoint的图表(其中有embedded式软件包部分和数字caching),我只是从embedded式Excel复制单元格,他们直接embedded到幻灯片。 我可以更新底层数据,和往常一样,如果select“编辑”我的embedded式单元格,我会看到更新的数据,当我回到Powerpoint文档时,所有数据都能正确显示。 所以我猜这是类似的问题,但我的更新caching在哪里? 目前使用PresentationDocument.SlideParts [0] .EmbeddedPackageParts [0]来更新底层数据(实际上并不使用索引0,但这是要点)。 谢谢你的帮助

如何使用VB.NET从上传的Excel表单中加载数据到Oracle数据库表中

我不能满足标题的全部要求。 所以,在这里。 我有一个非常古老的VB.NET Web应用程序,它从上传的Excel工作表读取每一行,并发送到数据库进行检查。 excel可以包含数千条logging。 这导致这么多的数据库调用,导致非常差的性能。 为了避免这种情况,我将每个excel行的关键字列都附加到一个string中,在代码本身中构造了一个SQL查询,并将其传递到数据库以供执行。 我知道这不是一个推荐的方法,但是性能是我们关心的主要问题,我不知道当时有多less用户通常在excel表格中有logging。 所以,这是在Excel中的行不超过500-600的假设下开发的。 现在我们正面临另一个问题。 当用户上传巨大的Excel文件时,生成的SQL将超出Oracle查询长度限制(SQL查询为4kb,PL / SQL Execute为32kb),导致查询失败。 我现在正在计划的是将excel加载到临时数据库表中,并通过存储过程执行检查。 但是,我不能做每个logging插入,因为这将导致更多的数据库调用,这正是我想要消除的第一位。 我GOOGLE了一下,发现从VB.NET中通过sqlldr.exe加载,但也似乎不是一个正确的方法。 我有其他的select吗?

在awws lambda中操作excel文件的其他方法

我有一个桌面应用程序,它通过读取Excel表来获取数据,因此我们处理一些数据并将它们写入一个新的Excel文件。 所以目前我们正在将其转换为基于云的解决scheme。 我们正在计划使用.net核心/ nodsjs aws。 我发现在Web服务器上的处理是非常困难的工作。 因为我们不得不使用一个COM对象或者在某个地方运行 那么有什么解决scheme可以解决这个问题呢? (谷歌电子表格将适合在这里? 谢谢