Tag: .net

如何将excel文件数据导入到c#中的数据表

我将数据从excel文件移动到数据表,其中第10行是列值。所以我使用EPPLUS库(OfficeOpenXml)下面的代码。当我移动到数据表的列是Item,Description,Accountnumber,Tender,Levelnumbers 。这些都是excel文件的第10行,因此,由于顶级列的合并,它会像Item,Column1,Column2,Description,Column3,Column4,Column5,Tender,Column6,Levelnumbers这样的Item,Column1,Column2,Description,Column3,Column4,Column5,Tender,Column6,Levelnumbers 。我需要一个像首先我需要跳过空行(无数据)列Levelnumbers然后说明列名称应该移动到Column4和当前描述的列应该命名为'Edata',所以列序列应该像Item,Column1,Column2,Edata,Column3,Description,Column5,Tender,Column6,Levelnumbers 所以总的来说,通过使用下面的代码我得到了像数据表中的值 Item,Column1,Column2,Description,Column3,Column4,Column5,Tender,Column6,Levelnumbers 1,null,null,Efax,null,Edescription1,null,Tfirst,null,123353 2,null,null,Zfax,null,Zdescription1,null,Tsecond,null,null 3,null,null,Xfax,null,Xdescription1,null,Tthird,null,456546 但它应该像(Levelnumbers空白的跳过的值),如何实现它? Item,Column1,Column2,Edata,Column3,Description,Column5,Tender,Column6,Levelnumbers 1,null,null,Efax,null,Edescription1,null,Tfirst,null,123353 3,null,null,Xfax,null,Xdescription1,null,Tthird,null,456546 使用的代码是 public static DataTable getDataTableFromExcel(string path) { using (var pck = new OfficeOpenXml.ExcelPackage()) { DataTable tbl = new DataTable(); try { using (var stream = File.OpenRead(path)) { pck.Load(stream); } var ws = pck.Workbook.Worksheets.First(); bool hasHeader = true; // adjust it accordingly( i've mentioned […]

VBA Workbook.closefunction:不能使此工作在所需的位置

我有这个代码: Sub test() Dim wb As String Dim wbb As Workbook wb = "C:\xyz.xlsx" Set wbb = Workbooks.Open(wb) MsgBox ("testing") wbb.Close End Sub 上面的工作就好了 。 工作簿按预期结束 但是,这个代码似乎不工作。 但对我来说,它看起来与 workbooks.close函数相同 。 有人可以请告知为什么这会引发错误“运行时错误'1004': 应用程序定义的或对象定义的错误 ” Sub filesTest(folder, dex) Dim wb As String Dim wbb As Workbook Dim dat Dim dat2 Dim dat3 Dim dat4 wb = "xyz.xlsm" […]

如何使用oledb c#.net在excel中插入新行

我正在尽我所能在Excel文件中插入一个新的数据行。 请看一看。 我正在面对这个问题使用C#.net框架(3.5) 码: try{ string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\rising rent\\csharp-Excel.xls;Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;MAXSCANROWS=15;READONLY=FALSE;ImportMixedTypes=Text'"; OleDbConnection conn = new OleDbConnection(ConnectionString); conn.Open(); OleDbCommand cmd = new OleDbCommand("INSERT INTO [Inventory$] (C_DATE) VALUES('555')",conn); cmd.ExecuteNonQuery(); conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } 错误是这个请看看,分享你的看法 “System.Data.OleDb.OleDbException:操作必须使用系统上System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams,Object&executeResult)System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)上的可更新查询。 Data.OleDb.OleDbCommand.ExecuteCommandText(Object&executeResult)System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior,String method)System.Data.OleDb.OleDbCommand.ExecuteNonQuery()at RisingRentACar.Inventory.button1_Click(Object sender, EventArgs e)在C:\ Users \ Hamza Hafeez \ Documents \ […]

如何在vb.net中的gridview导出后减lessExcel工作簿的权重

我有以下代码导出我的GridView在Excel中: Protected Sub ExportToExcel(sender As Object, e As EventArgs) Handles ExportExcel.Click Try Response.Clear() Response.Buffer = True Response.AddHeader("content-disposition", "attachment;filename=ExportEthias.xls") Response.Charset = "" Response.ContentType = "application/vnd.ms-excel" Using sw As New StringWriter() Dim hw As New HtmlTextWriter(sw) GvActifs.BackColor = Color.White For Each cell As TableCell In GvActifs.HeaderRow.Cells cell.BackColor = Color.DarkBlue cell.BorderStyle = BorderStyle.Solid cell.ForeColor = Color.White Next For […]

旋转的Excel单元格文本不打印旋转

我正在使用GemBox.Spreadsheet来填充Excel模板的数据。 其中一个单元已被设置为将其内容旋转90度。 将文件保存到磁盘时,文本将正确旋转,但是直接将ExcelFile对象打印到打印机时,单元格内容不会旋转。 这导致文本显示一个字母在另一个字母,而不是“转向它的一面”。 任何帮助将非常感激!

为什么我在Excel中以string的forms读取数字值?

我尝试使用NPOI库来读取excel文件。 这里是代码: public void ReadDataFromXL() { try { for (int i = 1; i <= sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i); for (int j = 0; j < row.Cells.Count(); j++) { var columnIndex = row.GetCell(j).ColumnIndex; var cell = row.GetCell(j); if (cell != null) { switch (cell.CellType) { case CellType.Numeric: var val = cell.NumericCellValue; ; […]

在MVC应用程序中将数据导出到Excel

我正在寻找在我的MVC应用程序导出数据到Excel的各种方法。 很多库需要将数据存储在DataTable中。 我有我的数据传递到模型从视图访问。 看来你不能把这个模型传回给控制器。 JavaScript是一个选项,如果它不是作为html表格导出的,而是一个纯粹的Excel文件。 目前,我调用一个函数,将再次运行查询来build立一个string,并使用System.IO.File.WriteAllText将输出该文件。 我不喜欢这种方式,因为我不得不调用数据库来再次运行查询(我已经在视图模型中有我需要的所有数据),path是硬编码的,我想要一个保存对话框popup向上。 有没有更好的方法来做到这一点? 我真的很喜欢以下两种方法之一: find一个“把戏”从视图传回控制器的数据,也许TempData可以在视图中使用? JavaScript将产生一个纯粹的Excel(.xlsx)文件 List<type> record = GetRecords(); StringBuilder sb = new StringBuilder(); sb.AppendLine("Data 1, Data 2, Data 3, Data 4"); foreach (var item in record) { sb.AppendFormat("{0},{1},{2},{3},{4}\n", item.1, item.2, item.3, item.4); } System.IO.File.WriteAllText("myfile.csv", sb.ToString());

有没有一种方法可以检查文件是否已经打开?

我想检查C:\ Data.xlsb是否已经打开。 我从这里有下面的代码如何判断某个Excel文件是否使用VB.NET打开? Public Shared Function OpenUnlockedFile(ByVal path As String) As StreamWriter Dim sw As StreamWriter = nothing Try sw = New StreamWriter(path) Catch ex As IOException When System.Runtime.InteropServices.Marshal.GetLastWin32Error() = 32 REM locked, return nothing End Try Return sw End Function 但是我不知道如何使用上面的代码。 我更喜欢sub而不是function。 最好的祝福。

如何获得C#中的XML文档的内部节点及其子值?

我有一个像下面的XML文件 <?xml version='1.0'?> <ENVELOPE> <HEADER> <TALLYREQUEST>Import Data</TALLYREQUEST> </HEADER> <BODY> <IMPORTDATA> <REQUESTDESC><REPORTNAME>All Masters</REPORTNAME><STATICVARIABLES><SVCURRENTCOMPANY>MSIT</SVCURRENTCOMPANY></STATICVARIABLES></REQUESTDESC> <REQUESTDATA> <TALLYMESSAGE> <Entry_x0020_NO.>125</Entry_x0020_NO.> <DATE>12</DATE> <GUID>1258</GUID> <NARRATION>1542</NARRATION> <VOTURETYPENAME>456</VOTURETYPENAME> <NAME>achuth</NAME> <AMOUNT>250</AMOUNT> </TALLYMESSAGE> </REQUESTDATA> </IMPORTDATA> </BODY> </ENVELOPE> 其中我需要使用循环中的c#代码获取内部节点tally消息及其子内部文本值,并将每个节点作为excel表单列名称和值作为excel中的行值。 错误在下面

用excel与ACE.OLEDB导入数字前导零

我有一个用户select一个Excel电子表格的程序。 程序然后从OLE.DB中读取该excel文件,并将该数据存储到DataTable中。 我的问题是当我从excel电子表格导入条形码与前导零,他们得到修剪。 我的列被格式化为文本。 以下是我的代码: public DataTable GetExcelInfo(string filepath) { DataTable datatab = new DataTable(); try { string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=1;ImportMixedTypes=Text\\"; using (OleDbConnection conn = new OleDbConnection(connectionString)) { conn.Open(); OleDbDataAdapter adapt = new OleDbDataAdapter("SELECT Format([F1], \"#\"), [F2], [F3] FROM [Sheet1$]", conn); adapt.Fill(datatab); } } catch (Exception e) { ErrorReporting.File(e, […]