Tag: c#

在C#中parsingExcel文件,单元格似乎被截断了255个字符…我该如何阻止?

我parsing通过上传的Excel文件(xlsx)在asp.net与c#。 我正在使用下面的代码(简化): string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\";"); OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connString); DataSet ds = new DataSet(); adapter.Fill(ds); adapter.Dispose(); DataTable dt = ds.Tables[0]; var rows = from p in dt.AsEnumerable() select new { desc = p[2] }; 这是完美的, 但如果在单元格中有超过255个字符的东西,它会被切断。 任何想法我做错了什么? 谢谢。 编辑:当查看Excel工作表时,它显示了超过255个字符,所以我不相信工作表本身是有限的。

在c#中从XLSX读取数据

我是新来的C#,并试图阅读在C#中的XLSX文件与下面的代码: string Connection = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\\Temp\\source.xlsx;Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\";"; //code to read the content of format file OleDbConnection con = new OleDbConnection(Connection); OleDbCommand command = new OleDbCommand(); DataTable dt = new DataTable(); OleDbDataAdapter myCommand = new OleDbDataAdapter("select * from [Tabelle1$]", con); myCommand.Fill(dt); Console.Write(dt.Rows.Count); 我从输出中得到了正确的计数,但是我还有两个问题: 1.如何做select select语句(如何访问行)? select * from [Tabelle1$] where A = '123' (A being an […]

请解释为什么我能够在Excel VSTO中实例化“应用程序”界面

我有我的应用程序中的以下C#代码,它工作得很好。 它启动了一个新的Excel实例。 private readonly Microsoft.Office.Interop.Excel.Application _application; _application = new Microsoft.Office.Interop.Excel.Application(); _application.Visible = true; 我只是最近才注意到Application是一个接口types。 究竟发生了什么事,怎么可能呢?

用OpenXml sdk 2.0创buildExcel文档

我已经使用OpenXml SDK 2.0创build了一个Excel文档,现在我必须devise它,但是我不能。 我不知道如何绘制背景颜色或更改不同单元格中的字体大小。 我创build一个单元格的代码是: private static Cell CreateTextCell(string header, string text, UInt32Value index) { Cell c = new Cell(); c.DataType = CellValues.InlineString; c.CellReference = header + index; InlineString inlineString = new InlineString(); DocumentFormat.OpenXml.Spreadsheet.Text t = new DocumentFormat.OpenXml.Spreadsheet.Text(); t.Text = text; inlineString.AppendChild(t); c.AppendChild(inlineString); return c; }

VSTO:在主Excel线程上调用

我有一个Excel工作表上的button,启动一个新的线程做一些处理。 如果我想对Excel进行任何更改(例如使用Worksheet.Range("A1").Value = "info"; )将数据写入单元格,我想我必须使用主UI线程。 如何才能做到这一点? 通常在Winforms中,我将在控件上调用Invoke ,但Excel.Application或Worksheet或Range对象没有Invoke方法。

保护Excel工作簿中的代码?

我想生成一个Excel工作簿,其中将包含专有公式和其他知识产权。 我很可能会用C#在Visual Studio 2010中生成这个工作簿。 这些项目中的代码有多受保护? 在C#中reflection的同样的问题仍然适用于这些工作簿项目? 如果是这样,是否有专门为这些types的工作簿的混淆工具? 添加到这个问题 – 什么好'烯VBA? 如果我们要走VBA路线,有没有办法保护这些代码呢?

如何以编程方式在C#中的Excel单元格中插入新行?

我正在使用Aspose库来创build一个Excel文档。 在某个单元格的某处,我需要在文本的两个部分之间插入一个新的行。 我试过“\ r \ n”但是不起作用,只是在单元格中显示两个方形符号。 但是,我可以按Alt + Enter在同一个单元格中创build一个新行。 如何以编程方式插入新行?

如何用“excelpackage”设置颜色或背景

我使用这个包: ExcelPackage虽然我不知道如何设置单元格的背景颜色。 我试图用这个: ws.Cells["A1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 但是它显示没有find属性。 听起来像我应该使用类似的东西: worksheet.Cell(5, columnIndex + 1).Style = "background-color: red"; 但我不知道它是如何工作的,我找不到它的教程。 请帮忙。

如何检查,以编程方式,如果MS Excel存在于电脑上?

我有一个需要MS Excel运行的应用程序,否则它崩溃。 所以我想检查并警告用户,以防Excel未安装在用户的机器上。 我该怎么做呢?

Exceldate列使用EPPlus返回INT

所以我使用EPPlus来读取和写入Excel文档。 工作stream程 用户生成填充的Excel文档 打开文档并添加一行 已上传并阅读 使用EPPlus创build文档时生成的date在正在读取值时正确显示,但用户更改date或添加的行显示为INT值,而不是我可以用作实际date的东西。 当我inputdate1/01/2014并写入时,输出当我打开文件显示41640 我正在阅读如下 sheet.Cells[i, "AE".ConvertExcelColumnIndex()].Value != null ? sheet.Cells[i, "AE".ConvertExcelColumnIndex()].Value.ToString().Trim() : string.Empty 更新 导出文件时,我添加了以下内容 DateTime testDate; if (DateTime.TryParse(split[i], out testDate)) { sheet.Cells[row, i + 1].Style.Numberformat.Format = "MM/dd/yyyy"; sheet.Cells[row, i + 1].Value = testDate.ToString("MM/dd/yyyy"); } 另外当阅读价值回我已经尝试过 sheet.Cells[i, "AE".ConvertExcelColumnIndex()].Style.Numberformat.Format = "MM/dd/yyy"; 我仍然得到一个INT回来