Tag: datatable

Epplus导出错误是这样的:'System.Data.DataSet'对象types'System.Data.DataTable'不是实物。

我想转换一个GridView到.xls,但它会抛出错误,当我点击确定它给我“无法导出到Excel。原始错误:'System.Data.DataSet'对象types'System.Data.DataTable'没有采取善良。“这是我的代码; 我的searchbutton groupBox2.Visible = true; SqlConnection baglanti = new SqlConnection("Data Source=.; Initial Catalog=database; Trusted_Connection=yes; MultipleActiveResultSets=True"); SqlDataAdapter da = new SqlDataAdapter(); SqlCommand cmd = new SqlCommand(); DataSet ds = new DataSet(); baglanti.Open(); cmd.CommandText = "SELECT * FROM hostes_tablo WHERE ayak_no=" + comboBox7.Text + ""; da.SelectCommand = cmd; cmd.Connection = baglanti; da.Fill(ds, "hostes_tablo"); dataGridView1.DataSource = ds; dataGridView1.DataMember […]

使用带有ClosedXML的大型数据表的OutOfMemory错误

添加大型数据表时遇到问题,请创build工作表。 我正在摆脱内存错误。 我build议closures事件跟踪,以提高性能和内存消耗,但我仍然遇到这些错误。 这是一些示例代码: public void SaveWorkBook(string xlFileName, DataSet dataSet) { using (var xlWorkBook = new XLWorkbook(XLEventTracking.Disabled)) { xlWorkBook.AddWorksheet(dataSet); xlWorkBook.SaveAs(xlFileName); } } public void SaveWorkBook(string xlFileName, params DataTable[] dataTables) { using (var xlWorkBook = new XLWorkbook(XLEventTracking.Disabled)) { foreach (var dataTable in dataTables) xlWorkBook.AddWorksheet(dataTable); xlWorkBook.SaveAs(xlFileName); } } 当然问题是数据表是巨大的。 像成千上万的logging或更多。 我试图使用一种替代方法来处理大数据表,比如使用一个具有较小logging数的临时数据表,然后将它们刷新到Worksheet,清除数据表,然后用新数据重新填充数据表。 填充,冲洗,清除,重复。 那或者InsertData方法() 问题是,每次我尝试使用可用选项写入数据表时,只有第一列正在写入。 然后降低文件,我看到其他列的数据,但在工作表的第一个单元格,而不是像他们所想的那样在一行中跨越列。 而且只有一排。 可能是写的最后一个logging。 […]

保存excel文件中的数据 –

我有一个小应用程序,最终用户可以将结果保存在Excel文件中。 一切看起来不错,但是在Microsoft Windows通信出现几秒之后:“程序Microsoft Office Excel停止工作”。 好的,就这样吧。 如果用户将数据保存为* .xls文件,则打开此文件没有问题 – 保存在此文件中的数据是正确的。 如果用户将数据保存为* .xlsx文件,则是一个问题。 当我尝试打开此文件时,显示消息:“程序Microsoft Excel无法打开文件* .xlsx,因为文件格式或扩展名不正确,请检查文件是否损坏,如果文件扩展名正确, 。 我用来将数据保存为excel文件的代码如下: public void SaveData(ExcelWriter ew) { SaveFileDialog saveFD = new SaveFileDialog(); saveFD.InitialDirectory = "C:\\users\\Documents"; saveFD.FileName = this._saveExcelFileName; saveFD.Filter = "excel 97-03(*.xls)|*.xls|excel 2007 (*.xlsx)|*.xlsx"; saveFD.FilterIndex = 2; saveFD.RestoreDirectory = true; if (saveFD.ShowDialog() == DialogResult.OK) { try { this._saveExcelFileName = saveFD.FileName; […]

使用jumboexcel将C#数据表数据导出为ex​​cel

在我的项目中,我从数据库获取数据并将其存储在数据表中。 从数据表中,我想用jumboexcel将数据导出到excel。 请指导我如何实现这一目标。

LINQ操作创build转换exception

当从Excel文件中填充的数据表中读取数据时,得到“无法将types为”System.Double“的对象转换为键入”System.String“。 当列数据types是双倍时exception。 我的代码如下所示 var importedProducts = dtImportedData.AsEnumerable() .Where(dtProduct => !string.IsNullOrWhiteSpace(dtProduct.Field<string>("product_id"))) .Select(dtProduct => new { product_id = dtProduct.Field<string>("product_id").Trim(), product_qty = Convert.ToInt32(dtProduct.Field<double>("product_qty ")) }).ToList(); 当product_id列有文本数据types时,一切正常。 但是,如果有双数据types,则抛出exception。 我已经尝试从这里解决

如何写入超过一张Excel表格的数据

我有3个数据表。我需要把这三个数据表写入excel表格。 因为我们知道,在一个Excel表格中,我可以有(超过1张)。 以同样的方式,我需要写我的3可数据到一个excel(其中sheet1将conatin dattable1,sheet2将conatin dattable2,sheet3将conatin dattable3) 这是我用于写入数据到网格然后到Excel中的数据的代码 private void DataTableToExcel(DataTable dtResult) { try { DataGrid grid = new DataGrid(); grid.HeaderStyle.Font.Bold = true; grid.DataSource = dtResult; grid.DataBind(); // render the DataGrid control to a file using (StreamWriter sw = new StreamWriter(Server.MapPath("Report/Report.xls"))) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { grid.RenderControl(hw); } } string filePath = Server.MapPath("~/" […]

用数字格式导出数据表格到excel表格

我需要导出一个数据集: DataSet ds = new DataSet("tabless"); ds.Tables.Add(table01); ds.Tables.Add(table02); ds.Tables.Add(table03); 它包含3个数据表,每个表是: table01.Columns.Add("Branch",typeof(string)); table01.Columns.Add("Today", typeof(double)); table01.Columns.Add("MTD",typeof(double)); table01.Columns.Add("LM",typeof(double)); table01.Columns.Add("Differ",typeof(double),"LM-MTD"); table01.Columns.Add("YTD",typeof(double)); 所以我需要将它们导出到数字格式和逗号分隔符的Excel工作表。 就像价值= -200000时(200,000)红色,价值300000时300,000,并将其应用于工作表中的每个表格。 欲了解更多信息请查看下面的照片: 截图http://postimg.org/image/lj55lz6ib/

合并DataTable c#

我试图合并两张从excel文件到一个DataTable。 该函数build立并运行,但是当我尝试从第二个表中获取数据时,没有任何反应。 (它从第一张纸起作用) 这是我目前所拥有的。 任何想法可能是错的? private static DataTable ExcelToDataTable(string fileName) { //open file and returns as Stream FileStream stream = File.Open(fileName, FileMode.Open, FileAccess.Read); //Createopenxmlreader via ExcelReaderFactory IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); //.xlsx //Set the First Row as Column Name excelReader.IsFirstRowAsColumnNames = true; //Return as DataSet DataSet result = excelReader.AsDataSet(); //Get all the Tables DataTableCollection table = […]

从数据表OpenXML线图

我正在生成一个基于查询string在网页的页面加载生成的报告。 我的单元格数据完全按照我希望在电子表格中生成的那样生成。 现在我需要添加折线图。 数据是dynamic的,行数有所不同。 在search中没有任何信息,这与在.net中使用openXML线图有关,所以我试图按照条形图示例,它将字典作为数据源,并试图破解这一点,以便从一个dataTable。 线图出现在我想要的工作表中,并且正在添加基于datatable的column1的系列。 我希望每个点都基于第2到第13列,但是我只得到第13列,并且不添加点名称。 老实说,我讨厌Excel和电子表格,对它们知之甚less,几乎没有时间去学习。 这是我尝试添加数据的代码: For i As UInteger = 0UI To CUInt(dataTable.Rows.Count – 2) Dim seriesName As String = dataTable.Rows(CInt(i))(dataTable.Columns(CInt(0)).ColumnName).ToString() Dim lineChartSeries As LineChartSeries lineChartSeries = lineChart.AppendChild(New LineChartSeries(New Index() With {.Val = New UInt32Value(i)}, New Order() With {.Val = New UInt32Value(i)}, New SeriesText(New NumericValue() With {.Text = seriesName}))) For j […]

使用VSTO在Excel中更新绑定的数据表很慢

我有一个Excel VSTO应用程序在内存中存储一​​个大的数据表,并将其中的一部分绑定到表。 用户可以更改他们select显示的字段,并定期进行批量更新。 大规模更新循环通过数据表更新几个字段。 这个更新过程似乎很慢(即更新40个奇数logging可能需要20秒)。 数据表是相当大的(10000行×450列),绑定到一个隐藏表和一个较小的视图(20个字段)绑定到一个可见的工作表。 数据表的所有更新都是在代码中完成的。 ProductRow = dt.Rows.Find(foundRows(i)("Primary Key")) If IsNothing(ProductRow) = False Then ProductRow("DECISION") = "Some Value" Updated += 1 End If 我怀疑它只是大量的数据绑定到工作表,这减慢了这个过程,但是任何提高速度的build议都是非常受欢迎的。