Tag: oledb

如何让我的代码读取前缀为'(撇号)

不知道该怎么称呼那些准确的string数字? 无论如何,你会这样写着绿色三angular形的单元格: '3309 这是我的工作代码… 读取一个excel文件的模式,其表单后来从combobox中select(这里我使用一个backgroundworker线程): try { OleDbcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + IO_Name + ";Extended Properties='Excel 12.0 Xml; HDR = Yes; IMEX = 1'"); OleDbcon.Open(); SD.DataTable dt = OleDbcon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); OleDbcon.Close(); MaxSchema = dt.Rows.Count; for (int i = 0; i < dt.Rows.Count; i++) { String sheetName = dt.Rows[i]["TABLE_NAME"].ToString(); sheetName = sheetName.Substring(0, sheetName.Length – 1); […]

C#,如何在Ace.OleDB中读取数据types

我需要阅读一个Excel文件,其中包含一些空白单元格和一些单元格在同一列中超过255个字符,我试图将registry值“TypeGuessRows”更改为“0”,它的工作,但我不能改变在服务器上的registry。 这里是我的连接string: StrConnXLS = "provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + SFileXLS + "';Extended Properties='Excel 12.0;HDR=YES;IMEX=YES;MAXSCANROWS=0;'"; 我通过将它传递给一个数据表如下所示读取表: using (OleDbCommand cmd = new OleDbCommand("SELECT * FROM [" + tabela + "]", con)) { con.Open(); //conn.Open(); //Executando o UPDATE cmd.ExecuteNonQuery(); OleDbDataAdapter oleAdapter = new OleDbDataAdapter(); oleAdapter.SelectCommand = cmd; planilha = new DataTable(""); oleAdapter.FillSchema(planilha, SchemaType.Source); oleAdapter.Fill(planilha); //Fechando a conexão con.Close(); } 我读到这样的: […]

使用OleDB从Excel工作表(扩展名为.xlsm的文件)中检索第一列的值

我试图从名为“SP $”的Excel工作表中检索第一列的值。 我有path: string path = @"C:\Users\atsurkanu\Desktop" + @"\TemplateClientExtraction_IDEAFIMIT_Conero_QUARTER_20170127.xlsm"; string connectionString = string.Format(@"provider=Microsoft.ACE.OLEDB.12.0;data source={0};Extended Properties=Excel 12.0;", path); string sheetName = "SP$"; 和一些这样的代码: using (OleDbConnection con = new OleDbConnection(connectionString)) { try { var dataTable = new DataTable(); con.Open(); var tableschema = con.GetSchema("Tables"); var firstsheet = tableschema.Rows[0]["SP$"].ToString(); string name_query = "SELECT A4 FROM [" + firstsheet + […]

excel列select查询在C#winform中

我试图匹配Excel列表types为DateTime的列中的date。 使用以下查询 DateTime dtNew = Convert.ToDateTime("7/16/2010"); OleDbDataAdapter da = new OleDbDataAdapter("Select * FROM [" + SheetName + "$] where [Hand off date] = '" + dtNew + "'", conn); 我正进入(状态 标准expression式中的数据types不匹配“。 请帮忙。

无法通过尺寸大于1mb的OleDb读取xlsx文件

我想使用SQL大容量复制为了从*.xlsx文件加载数据到数据库。 但是,当文件大小大于1mb时,我遇到了这个问题。 当我尝试打开OleDbConnection出现错误 No error message available, result code: E_FAIL(0x80004005) 有没有人有这样的行为的想法? PS如果文件大小小于上面提到的一切都按预期工作。 string connString = connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 Xml;"; // Create the connection object OleDbConnection oledbConn = new OleDbConnection(connString); // Open connection oledbConn.Open(); // Create OleDbCommand object and select data from worksheet OleDbCommand cmd = new OleDbCommand("SELECT * […]

OLEDB命名参数和分组:“?”将不起作用

可能重复: GROUP BY使用SQL中的参数 这是一个.xlsx文件的OLEDB查询的SQLstring szSQL = "SELECT cawo_wo_id, wows_step_id, wows_description, wffj_cur_state_desc, cawo_wo_id & wows_step_id AS p5_id FROM [" & SourceSheet$ & "$" & sourceRange$ & "] WHERE [wows_description] like '%ECR%';" 我明白OLEDB不支持命名参数,但是为什么它不能用“group by”使用“?”。 作为参数? 像这样: szSQL = "SELECT cawo_wo_id, wows_step_id, wows_description, wffj_cur_state_desc, cawo_wo_id & wows_step_id AS p5_id FROM [" & SourceSheet$ & "$" & sourceRange$ & […]

如何处理OleDb Excel导入中的无效字符?

我正在将excel文件导入到我的应用程序中,有时工作表的列名也有“$”符号。 我收到这个例外: System.Data.OleDb.OleDbException was unhandled Message=''6um$'$' is not a valid name. Make sure that it does not include invalid characters or punctuation and that it is not too long. 在这张表中,“6um $”是一个列名。 这是我的代码: OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString); OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter( "select * from [" + worksheetName + "$]", con); con.Open(); System.Data.DataSet excelDataSet = […]

用OleDB打开Excel(用EPPLUS创build)

我有一位同事的代码,这段代码用Epplus创build了一些Excel表格。 用我的代码,我想添加一个数据库提取10K +/-线。 由于数据量较大,Epplus需要花费很长时间,因为您需要编写每个单元格。 OleDB只需要几秒钟。 但是我不能用OleDB打开以前创build的Epplus的excel。 即使有不同的连接string。 如果你分开两个代码块,这个代码是完美的。 var excelPath = "C:\\test_" + DateTime.Today.ToString("yyyyMMdd_") + DateTime.Now.ToString("hh") + DateTime.Now.Minute.ToString() + ".xlsx"; using (ExcelPackage xlPackage = new ExcelPackage(new FileInfo(excelPath))) { ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets.Add("Schedule V"); worksheet.Cell(1, 1).Value = "test"; xlPackage.Save(); xlPackage.Dispose(); } var strCn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelPath + ";Extended Properties='Excel 12.0 Xml';"; using (OleDbConnection conn […]

Excel VBAparsingSQL连接string

我有一个Excel VBA使用连接string连接到SQL数据库,但我想知道是否有可能从单元parsing到连接string? 例如,如果我有单元格B2 SQLSVR1\Instance1和B3 SQLSVR1\Instance1 ,那么我可以将它放入连接string,如下所示: objMyConn.ConnectionString = "Provider=sqloledb; Data Source=**"B2"**; Initial Catalog=**"B3"**; Integrated Security=SSPI;" 那可能吗? 提前致谢。

OleDB和一个美元符号

我pipe理一个导入Excel文档的旧应用程序。 它工作了很长时间,但大约6个月前,它停止了工作。 在搜寻了几个月的错误之后,我终于发现在Exceldocument的工作表名称末尾需要一个$ Exceldocument 。 问题是什么改变了这个要求? 新版本的Excel? 我知道我们从中得到这个文档的公司,升级了他们的Office套件,但是我还没有能够确认这是否是这个问题。 我们仍然得到.xls文件,所以它应该是我想的一样。 Office有什么事吗? 在此先感谢罗兰