Tag: c#

在Angularjs和WebApi中下载Excel文件xlsx

我正在做一个任务,在这个任务中,我必须以xlsx格式下载报告。 报告文件从服务器成功生成,也在客户端接收。 但是它没有打开并生成无效的格式错误。 以下是服务器端的代码。 var output = await reportObj.GetExcelData(rParams); if (output != null){ var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(output.ConentBytes) }; result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = output.FileName }; return result; } 这里是客户端的代码: var saveData = function (response) { if (response.status === 200) { var reportData = […]

无法打开使用excelLibrary生成的excel文件

我正在使用excelLibrary以编程方式创buildexcel文件,但当我尝试在Microsoft Office Excel中打开生成的文件时出现文件格式错误。 我已经看到这个报道,但仍然没有答案。 我使用Office 2010,我可以打开任何其他.xls(97-2003文件格式),但使用excelLibrary生成的。 我也试过Open Office,仍然无法打开生成的文件。 我还没有试图在Office 97-2003中打开它们。 试试这个示例代码来重现错误。 有没有人发现如何使用库,而不是遇到这个问题?

我怎样才能得到实际使用的范围修改Excel使用Epplus?

我正在使用EPPlus从excel读数据到datable。 在读取了10行logging的excel表格后,我通过删除现有数据修改了excel表格,并只保存了一行数据。 但是,当我正在读取修改后的excel时,它仍然读取10行(值为1,剩余为空字段)到数据表。 怎么能限制这个? 我正在使用以下代码来读取Excel。 using (var pck = new OfficeOpenXml.ExcelPackage()) { using (var stream = File.OpenRead(FilePath)) { pck.Load(stream); } var ws = pck.Workbook.Worksheets.First(); bool hasHeader = true; // adjust it accordingly(this is a simple approach) foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column]) { DSClientTransmittal.Tables[0].Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column)); } var startRow […]

将string从VBA传递给C ++ DLL

我真的很困惑从VBA传递string到C ++。 这是VBA代码: Private Declare Sub passBSTRVal Lib "foo.dll" (ByVal s As String) Private Declare Sub passBSTRRef Lib "foo.dll" (ByRef s As String) Private Declare Sub passByNarrowVal Lib "foo.dll" (ByVal s As String) Private Declare Sub passByNarrowRef Lib "foo.dll" (ByRef s As String) Private Declare Sub passByWideVal Lib "foo.dll" (ByVal s As String) Private Declare […]

使用OLEDB数据提供程序读取excel文件

我正在使用OLEDB数据提供程序来读取excel文件,但问题是,在Excel表中,一些cloumn有一个无效的值例如,而不是数字string在那里,当我读取这个无效的值,我得到一个空string,而不是实际值。 为上面的截图,当我读取值约翰获得空string。 那么有什么方法可以读取这个无效值吗? 任何帮助将不胜感激。 该代码是读取excel文件 private DataTable ReadExcelFile(string sheetName, string path) { using (OleDbConnection conn = new OleDbConnection()) { DataTable dt = new DataTable(); string Import_FileName = path; string fileExtension = Path.GetExtension(Import_FileName); if (fileExtension == ".xls") conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Import_FileName + ";" + "Extended Properties='Excel 8.0;HDR=YES;'"; if (fileExtension == ".xlsx") conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data […]

XLL Excel插件在非托pipeC ++中

我有一些非托pipeC ++中的math模拟,现在我需要将它们与Excel集成(以便可以从Excel调用函数并返回值)。 我不想使用任何VBA,所以我想我必须实现一个XLL插件。 我想尽可能less使用第三方额外的框架。 有人能指点我一个很好的教程吗?

旧格式或无效的types库。 (从HRESULTexception:0x80028018(TYPE_E_INVDATAREAD))

将数据网格视图中的数据导出到Excel工作表时出现错误: 错误(旧格式或无效types库(从HRESULTexception:0x80028018(TYPE_E_INVDATAREAD))) 在这一行上: Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing); 我该如何解决这个问题? 我的完整代码: private void button1_Click(object sender, EventArgs e) { System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); // Creating Excel Application Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application(); System.Threading.Thread.CurrentThread.CurrentCulture = oldCI; // Creating new WorkBook within Excel application Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing); // Creating new Excel sheet in workbook Microsoft.Office.Interop.Excel._Worksheet […]

将用户定义的函数添加到Visual Studio Excel加载项

在Visual Studio中,我有一个Excel 2010加载项目。 我怎样才能有这个项目创build以下模块: 我知道我可以用该模块保存该工作簿,然后将其与我的插件一起使用。如果我可以让我的插件创build该模块,那将是非常好的…

从Excel读取(范围到multidimensional array)C#

我将如何从Excel工作表读取并将标记的select(区域)加载到multidimensional array中? Excel中的列本身可以是一个multidimensional array,因为它包含的不仅仅是一个值。 这个想法(不知道这有多好)是在所有的Excel.Area(选定的领域)做一个for循环,并将该领域的内容添加到multidimensional array。 由于multidimensional array的types为object [,],因此非generics,因此没有方便的add()方法。 所有这些都需要手动完成。 任何想法,如果这种方法是好的,如果它可以做得更有效率?

如何使用asp.net和c#stream式传输Excel 2007或Word 2007文件

我正在做一个networking应用程序,需要stream式传输各种文件。 我可以做PDF,图像和较旧的Office文档。 但是,当我试图用2007年的文件,它打破。 这是我的代码: Response.Buffer = true; Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); switch (FileExtension.ToLower()) { case "pdf": Response.ContentType = "application/pdf"; break; case "doc": Response.ContentType = "application/msword"; break; case "docx": Response.ContentType = "application/vnd.ms-word.document.12"; break; case "xls": Response.ContentType = "application/vnd.ms-excel"; break; case "xlsx": Response.ContentType = "application/vnd.ms-excel.12"; break; default: Response.ContentType = "image/jpeg"; break; } Response.BinaryWrite(buffer); 我得到的错误是: 在文本内容中find无效的字符。 处理资源'http://DomainName/GetFile.aspx时出错… PK 有什么build议么?