在C#中parsingExcel文件,单元格似乎被截断了255个字符…我该如何阻止?

我parsing通过上传的Excel文件(xlsx)在asp.net与c#。 我正在使用下面的代码(简化): string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\";"); OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connString); DataSet ds = new DataSet(); adapter.Fill(ds); adapter.Dispose(); DataTable dt = ds.Tables[0]; var rows = from p in dt.AsEnumerable() select new { desc = p[2] }; 这是完美的, 但如果在单元格中有超过255个字符的东西,它会被切断。 任何想法我做错了什么? 谢谢。 编辑:当查看Excel工作表时,它显示了超过255个字符,所以我不相信工作表本身是有限的。

两个或多个人可以同时编辑一个Excel文档吗?

我有一个用于存储Excel文件的文档库的SharePoint 2010站点。 如果某人正在编辑一个Excel文件(使用独立的Excel,而不是Excel服务),其他人将被迫以只读方式打开该文件,直到第一个人完成编辑。 有没有解决的办法? 我想要的是允许两个或更多的人同时编辑文件。 另外,我不希望人们相互覆盖。 相反,我想让SharePoint合并他们的更改。 这可能在SharePoint 2010中?

如何在Excelmacros中使用JavaScript?

这里有一个非常酷的差异类: http://code.google.com/p/google-diff-match-patch/ 我之前在一些网站上使用过,但现在我需要在 Excelmacros中使用它来比较两个单元格之间的文本。 但是,它只能在JavaScript,Python,Java和C ++中使用,而不能在VBA中使用。 我的用户仅限于Excel 2003,因此纯.NET解决scheme将无法工作。 手动将代码翻译成VBA会花费太多时间,难以升级。 我考虑的一个select是使用.NET编译器(JScript.NET或J#)编译JavaScript或Java源代码,使用Reflector输出为VB.NET,然后将VB.NET代码手动降级到VBA,给我一个纯粹的VBA解决scheme。 在使用任何.NET编译器进行编译之后,我放弃了这个path。 假设我可以得到一个可用的.NET库,我也可以使用ExcelDna( http://www.codeplex.com/exceldna )这个开放源码的Excel加载项来简化.NET代码集成。 我最后的想法是托pipe一个Internet Explorer对象,发送它的JavaScript源,并调用它。 即使我得到这个工作,我的猜测是这将是泥泞缓慢和凌乱。 更新:find解决scheme! 我使用了接受的答案在下面描述的WSC方法。 我不得不稍微更改一下WSC代码来清理差异,并给我一个VBA兼容的数组数组: function DiffFast(text1, text2) { var d = dmp.diff_main(text1, text2, true); dmp.diff_cleanupSemantic(d); var dictionary = new ActiveXObject("Scripting.Dictionary"); // VBA-compatible array for ( var i = 0; i < d.length; i++ ) { dictionary.add(i, JS2VBArray(d[i])); } return […]

如何获取在Excel工作表中调用VBA函数的单元格的地址

有没有一个函数来获取调用VBA函数的单元格的地址? 我用“Application.ActiveCell.Address”,但发现这个方法不是获取调用单元地址的正确方法。 例如:如果我们有保存VBA函数的excel表格,一旦你重新打开表格,上面的方法将不起作用。 请帮忙 尼莫

如何在Scala中读取Excel文件

有没有办法读Scala中的Excel文件(xls不是csv)? 我的意思是有没有Scala图书馆这样做?

在c#中从XLSX读取数据

我是新来的C#,并试图阅读在C#中的XLSX文件与下面的代码: string Connection = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\\Temp\\source.xlsx;Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\";"; //code to read the content of format file OleDbConnection con = new OleDbConnection(Connection); OleDbCommand command = new OleDbCommand(); DataTable dt = new DataTable(); OleDbDataAdapter myCommand = new OleDbDataAdapter("select * from [Tabelle1$]", con); myCommand.Fill(dt); Console.Write(dt.Rows.Count); 我从输出中得到了正确的计数,但是我还有两个问题: 1.如何做select select语句(如何访问行)? select * from [Tabelle1$] where A = '123' (A being an […]

如何使用外键将.xls文件导入到.sql

我有一个Excel电子表格: id name region zone 1 pokin Polon Riny 2 lucy yerni kinta … 而我有MySQL数据库中的表,而不是区域和区域ID的外键,而不是区域标识和区域标识。 用户表: id name region_id zone_id 1 retre 1 1 … 地区表: id region_name 1 Polon … 和区表 id zone_name 1 kinta … 我需要将Excel电子表格导入到用户表中。

在Excel中输出一个NULL单元值

可能重复: 在Excel中从公式返回空单元格 我有一个IF声明。 如果一个cell = n,那么做一些事情,否则输出NULL =IF(A1=5, "Success", NULL) // #NAME? =IF(A1=5, "Success", "NULL") // NULL (as in text, not actually NULL!) =IF(A1=5, "Success", "") // blank but not NULL =IF(A1=5, "Success", 0) // zero value but not NULL

如何清除内存,以防止“内存不足错误”在Excel VBA中?

我在一个大的电子表格上运行VBA代码。 如何清除程序/调用之间的内存以防止发生“内存不足”问题? 谢谢

Vlookup在不同的工作表中引用表格数据

我想使用一个VLOOKUP函数引用一个数据表放置在另一个VLOOKUP函数写入的表中。 例如:在Sheet 1中,单元格AA3我想插入VLOOKUP函数。 我想要检查单元格M3中的数字,在Sheet 2范围地址A2:Q​​47第一列中find相同的数字,并在该表格的第13列中重现该值。 我已经写了这个函数,但是它报告#N/A : =VLOOKUP(M3,Sheet1!$A$2:$Q$47,13,FALSE)