Tag: .net

使用EPPlus只读取列或单元格

有没有办法使一列或一组单元格locking或只能使用EPPlus读取? 我已经尝试了下面的代码单独和一起,但都似乎没有预期的效果。 整个工作表都被locking(如果我包含IsProtected语句)或者什么也不是。 ws.Protection.IsProtected = true; ws.Column(10).Style.Locked = true; 编辑 这里是我的控制器的整个代码块 FileInfo newFile = new FileInfo("C:\\Users\\" + User.Identity.Name + "\\Desktop" + @"\\ZipCodes.xlsx"); ExcelPackage pck = new ExcelPackage(newFile); var ws = pck.Workbook.Worksheets.Add("Query_" + DateTime.Now.ToString()); //Headers ws.Cells["A1"].Value = "ChannelCode"; ws.Cells["B1"].Value = "DrmTerrDesc"; ws.Cells["C1"].Value = "IndDistrnId"; ws.Cells["D1"].Value = "StateCode"; ws.Cells["E1"].Value = "ZipCode"; ws.Cells["F1"].Value = "EndDate"; ws.Cells["G1"].Value = "EffectiveDate"; […]

.net c#excel列AutoFit

我正在使用c#中的excel对象。 我想自动适合列,但是像这样:我希望列的宽度比AutoFit方法设置的大5。 如何在使用AutoFit()后获得宽度? 我怎样才能使列5比这个宽度更大?

如何使用Telerik导出到Excel(XLSX)时解释集合?

情景 我正在使用Telerik UI For Windows窗体 。 我有一个RadGridView ,我代表一个名为MarketInfo的自定义types: Public NotInheritable Class MarketInfo … Public ReadOnly Property Participants As ReadOnlyCollection(Of ParticipantInfo) Get Return Me.GetParticipants() End Get End Property … End Class 它只包含文本和布尔值属性,而Participants属性则返回另一个自定义types的集合: Private Function GetParticipants(ByVal market As XElement) As ReadOnlyCollection(Of ParticipantInfo) Dim participantInfoList As New List(Of ParticipantInfo) For Each participantNode As XElement In market…<participant> participantInfoList.Add(New ParticipantInfo(participantNode)) […]

如何在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 […]

如何以编程方式在C#中的Excel单元格中插入新行?

我正在使用Aspose库来创build一个Excel文档。 在某个单元格的某处,我需要在文本的两个部分之间插入一个新的行。 我试过“\ r \ n”但是不起作用,只是在单元格中显示两个方形符号。 但是,我可以按Alt + Enter在同一个单元格中创build一个新行。 如何以编程方式插入新行?

如何在.NET中按名称获取工作表?

被迫从NPOI微软互操作,我必须执行一个任务,find工作簿中的某个工作表,然后遍历它的每一行。 在NPOI中,它将只是workbook.GetSheet(sheetName); 。 在微软的互操作性中,这相当于什么?

Excel .NET COM – 自动化错误。 该系统找不到指定的文件

我有一个在Excel中由VBA使用的.NET 2.0 COM对象。 它在我的开发机器上工作正常,但是当试图在干净的VM工作站上使用它时,我得到这个错误: 自动化错误。 该系统找不到指定的文件。 该DLL注册“regasm / tlb / codebase mycom.dll”,而不是放在GAC中。 我没有VM框的pipe理权限 有任何想法吗?

.Net Excel Interop删除工作表

我试图从一个.net c#3.5应用程序的Excel文档中使用interop Excel类(对于Excel 2003)删除一个工作表。 我尝试了很多东西: Worksheet worksheet = (Worksheet)workbook.Worksheets[1]; worksheet.Delete(); 这是行不通的,不会有任何错误…

如何知道Process.Start()是否成功?

我已经尝试了两种不同的方法来启动一个进程。 首先 定义被定义为Start方法的参数: System.Diagnostics.Process.Start("excel", string.Format("\"{0}\"", ExcelFileBox.Text.ToString())); 我的想法: 这个开始很好,但我不知道如何从中得到反馈。 第二 我开始研究ProcessStartInfo是因为我想知道Excel是否成功启动 – 例如,虽然它很可能存在于用户的机器上,但是不能保证,并且向用户指示它已启动是愚蠢的没有成功的时候。 System.Diagnostics.ProcessStartInfo startinfo = new System.Diagnostics.ProcessStartInfo { FileName = "excel", Arguments = string.Format("\"{0}\"", ExcelFileBox.Text.ToString()), ErrorDialog = true, UseShellExecute = false, WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) }; try { System.Diagnostics.Process.Start(startinfo); } catch (Exception err) { Console.WriteLine(err.Message); } 我的想法: 这给出了错误:“系统找不到指定的文件”,但不清楚它是指Excel应用程序还是我的文件。 无论如何,虽然我很欣赏错误信息的能力,但我现在不应该接受。 想法,build议,想法如何知道这是否成功? 解决了 我把启动一个进程的第一种方式变成了一个try-catch,它运行的很好。

读取使用FileUpload Control上传的Excel文件,而不将其保存在服务器上

需要能够读取使用ASP.NET中的FileUploadControl上传的Excel文件。 该解决scheme将托pipe在服务器上。 我不想将Excel文件存储在服务器上。 我想直接将excel内容转换成数据集或数据表并利用。 下面是我已经find的两个解决scheme,但不会为我工作。 LINQTOEXCEL – 当你在本地机器上有一个excel文件,并且你正在本地机器上运行你的代码时,这种方法是有效的。 在我的情况下,用户正尝试使用托pipe在服务器上的网页从本地机器上传Excel文件。 ExcelDataReader – 我目前正在使用这个,但这是第三方工具。 我不能把这个移动到我们的客户。 另外,如果行/列交叉点正在携带一个公式,那么该行/列交集的数据不会被读入数据集。 我在google和StackOverflow上发现的大多数build议都是在Excel和.NET解决scheme都在同一台机器上时运行的。 但是在我的工作中,当解决scheme托pipe在服务器上时,我需要它来工作,并且用户正尝试使用本地机器上的托pipe网页来上传excel。 如果您有任何其他build议,可否请让我知道?