Tag: datatable

如何在运行时使types化数据集或其他结构?

美好的一天! 我尝试在没有数据库的情况下在运行时创buildtypes化数据集或数据表。 我有Excel文件,并想parsing它,并打字input数据集。 因为,如果是这样,我可以做这样的事情: foreach(Person personRow in dataSetPerson.Rows) { var name=personRow.name;//etc } 但是我不能。 我试图从这个问题来做,但失败了。 请告诉我如何在运行时创build一些types化的结构(数据集或可能是另一个)?谢谢!

如何从给定的行开始从Excel中读取数据并获取正确的types推断

我使用这些连接string从.xls和.xlsx文件导入数据 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\file.xls;Extended Properties="Excel 8.0;HDR=YES;IMEX=0;MaxScanRows=16;Empty Text Mode=NullAsEmpty;" 要么 "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=0;MaxScanRows=16;Empty Text Mode=NullAsEmpty;" 我加载数据表中的数据。 Using connection As New OleDbConnection(connString) connection.Open() wsName = "myWorksheet$" Dim SQL As [String] = String.Format("SELECT {1} FROM [{0}]", wsName, "*") Dim da As New OleDbDataAdapter(SQL, connection) Dim ds As New DataSet da.Fill(ds) dtb = ds.Tables(0) End Using 如果数据从Excel文件的第一行开始,我会得到正确的types字段。 不幸的是,一些excel文件(包括xls和xlsx格式)在实际数据之前可能会有几行标题和其他烦恼。 […]

将DataTable导出到dotx中的MS词表

我一直在试图将数据导出到Excel表,但现在我想导出数据表到Word表。 我有一个单词模板文件,其中包含我想用数据表填充该对象的Excelembedded对象。 这里的代码我一直用来导出自定义值到word文件。 Object oMissing = System.Reflection.Missing.Value; Object oTemplatePath = "D:\\Mujahid.dotx"; Application wordApp = new Application(); Document wordDoc = new Document(); wordDoc = wordApp.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing); foreach (Field myMergeField in wordDoc.Fields) { Range rngFieldCode = myMergeField.Code; String fieldText = rngFieldCode.Text; // ONLY GETTING THE MAILMERGE FIELDS if (fieldText.StartsWith(" MERGEFIELD")) { […]

ExtremeML负指数导出问题

在C#中,我有一个DataTable具有有效值,其中一些是指数格式。 我将这个DataTable导出到使用ExtremeML(我相信基于OpenXML)和下面的代码的xlsx文件: if (!Directory.Exists(savePath.Text)) Directory.CreateDirectory(savePath.Text); using (var package = SpreadsheetDocumentWrapper.Create(savePath.Text + fileName + ".xlsx")) { for (int i = 0; i < dataset.Tables.Count; i++) { // declares worksheet var part = package.WorkbookPart.WorksheetParts.Add(dataset.Tables[i].TableName.ToString()); // second worksheet filled by second collection bool first = true; int position = 0; for (int row = 0; row < dataset.Tables[i].Rows.Count; […]

Guid在Excel中使用SpreadSheetGear

我只需要一个确认/快速信息。 我觉得这是一个显而易见的问题,但只是要确保和充分理解发生的事情。 在网上找不到更多的细节。 我使用SpreadSheetGear从数据表转储电子表格中的数据。 这些桌子上有一些Guid。 现在,当我尝试从我的数据表中复制时,我得到一个错误,说错误的数据types,除非我导入使用标志AllText或通过删除我的datable中包含GUID的列。 看起来像excel不能支持guids作为variables/数据types。 这是正常的吗? 我不需要这些数据,无论如何都能以文本格式轻松转换,但我只想完全理解这个问题。 这是一个示例代码,出现以下错误:单元格值types无效。 public void Test() { DataTable table = new DataTable(); table.Columns.Add("ID", typeof(Guid)); table.Columns.Add("Drug", typeof(string)); table.Columns.Add("Patient", typeof(string)); table.Columns.Add("Date", typeof(DateTime)); table.Rows.Add(Guid.NewGuid(), "Indocin", "David", DateTime.Now); table.Rows.Add(Guid.NewGuid(), "Enebrel", "Sam", DateTime.Now); table.Rows.Add(Guid.NewGuid(), "Hydralazine", "Christoff", DateTime.Now); IWorkbook wrk = Factory.GetWorkbook(); IWorksheet wsht = wrk.Worksheets["Sheet1"]; IRange rng = wsht.Cells["A1"]; rng.CopyFromDataTable(table, SpreadsheetGear.Data.SetDataFlags.None); wrk.SaveAs("C:\\MyData.xls",FileFormat.OpenXMLWorkbook); wrk.Close(); […]

如何设置列的长度和types

我正在从xls/xlsx文件读取到一个DataSet 。 string connstring; if (currFileExtension == ".xlsx") { connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + currFilePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; } else { connstring = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + currFilePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; } using (OleDbConnection conn = new OleDbConnection(connstring)) { conn.Open(); DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //Get All […]

npoi从数据表导出

我有一个asp.net网站,将生成7-8张数据的一些excel文件。 到目前为止,最好的解决scheme似乎是NPOI ,这可以创buildexcel文件,而不需要在服务器上安装excel,并且在excel interop上有一个很好的API。 但是我找不到一种方法来转储类似于CopyFromRecordset Excel中的整个数据表 任何提示如何做到这一点,或比NPOI更好的解决scheme?

如何将大型Excel文件导入到数据表?

我有一个500列的Excel文件。 我正在使用OLEDB将其导入到DataTable中。 但是DataTable只包含前255列。 我无法弄清楚为什么其余的列没有被导入。 我的代码是 public DataTable ToDataTable() { DataSet dsEmpMaster = new DataSet(); DataTable dtEmpMaster = null; string strConnectionString; string strSql; string FileNameWithPath = String.Format("{0}\\{1}", System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName), _FileName); try { dtEmpMaster = new DataTable(); strConnectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0;", FileNameWithPath); strSql = String.Format("SELECT * FROM [{0}$]", _SheetName); OleDbDataAdapter adpMasterData = new OleDbDataAdapter(strSql, strConnectionString); adpMasterData.Fill(dsEmpMaster); […]

DataTable到Excel范围在一个镜头?

我有一个System.Data.DataTable实例中的一些数据,并希望把它放在一个Excel表单范围,直接,一枪。 我正在使用VS 2008,我的项目是一个C#Excel 2007工作簿项目。 谢谢

使用Excel格式化编写excel

我想用System.Data.DataTable excel包编写excel文件 并需要在Excel文件中格式化一些单元格,如背景颜色。 我怎样才能做到这一点?