Tag: .net

阅读excel,search和replaceWeb C#应用程序中的文本

我有一个excel文件,需要访问,replace部分文本,并下载更改的文件。 但是我无法保存更改,我应该始终将版本保留在服务器上。 我做了几个search,但我只能改变文件并保存更改。 我试图解决下面的链接,我设法search和更改文件,但我不知道如何下载并停止保存更改。 使用C#在Excel中查找和replace文本 非常感谢你

在foreach Excel interop中查找包含两个值的行

我怎样才能findExcel表格使用Excel互操作,而不必循环每一行? 我想使用foreach语句来遍历我的集合,并且在employeeId和收费编号存在的位置,我想更新该员工的总小时数单元和费用编号。 这是我目前的代码,但是人是慢的! 代替嵌套的for循环,我可以使用excel范围来查找包含employeeId和费用号的行吗? var lastLine = sheet.UsedRange.Rows.Count; foreach (var timeEntry in filteredList.OrderBy(x =>int.Parse(x.ChargeNumber.Split('.')[2], CultureInfo.CurrentCulture))) { for (var row = 3; row <= lastLine; row++) //loop over archive sheet { if (Convert.ToInt32(timeEntry.EmployeeId) == sheet.Cells[row, 1].Value2 && timeEntry.ChargeNumber == sheet.Cells[row, 5].Text.Trim()) { sheet.Cells[row, 6] = timeEntry.TotalHours; if (timeEntry.TimeDifferential > 0) { sheet.Cells[row, 8] = "Add " […]

使用VBA Excel进行比较,复制和粘贴

如果我们能得到一些帮助,将不胜感激! 因此,我试图比较“容量列表”中“CNC DEPT”和“A列”(作业编号)的“A列”(作业编号)。 然后比较“B列”(容量主机)到“K列”(CNC部门当前closures)。 如果这两个都是真的,我们想复制N列(总时间)并粘贴到“P列”(在CNC DEPT上没有数据)。 我在下面列出的代码有问题。 语法是好的,但是它返回的值是#### VALUE。代码从第二张表复制一个值并将其粘贴到当前表中。 正在复制的单元格从其他表单上的VLOOKUP函数派生出其值。 我认为这可能是造成这个问题的原因。 有没有办法只复制单元格的数值而不是公式? 或者也许只粘贴数值(如“仅粘贴特殊值”菜单项)? 这是我的代码 选项显式 Sub transfer() Dim i As Long Dim j As Long Dim lastrow1 As Long Dim lastrow2 As Long Dim jobnum As String Dim mainmachine As String Dim WBT As Workbook ''''This Workbook Dim WBC As Workbook ''''CapacitySummary workbook Set WBT […]

在Excel中通过Interop打开CSV只读取第一行

我有一个CSV文件,我想在Excel中打开它并再次保存为xlsx。 我想这样做,而不是直接将数据写入Excel文件的原因是我希望它的速度更快,因为写入数据非常缓慢。 我的csv看起来像这样: sep=, header1, header2, header3 data1, data2, data3 这里是我的代码将数据写入CSV,在Excel中打开并再次保存: var csvPath = [MyCSVPath]; File.WriteAllBytes(csvPath, WriteCsv(result)); excel.Workbooks.Open(csvPath, Delimiter: ","); // Save the excel localy and load it's bytes again. var path = [MyExcelPath] workbook.SaveCopyAs(path); excel.Workbooks.Close(); 当我手动打开excel中的csv时,它会正确打开。 但是,当我通过上面的代码执行它只包含第一行。 我究竟做错了什么?

循环遍历excel / csv表格中的每个单元格

这个问题和我上一篇文章( 链接 )有关。 我想通过每个单元格,以便我可以清理我的非ASCII值的函数(函数ReturnCleanASCII)正在使用这个。 但是,当我通过单元格时,我得到一个空值。 码 foreach (Excel.Range range in xlRange.Cells){ Console.WriteLine(range.Value2.ToString()); } 我正在使用上面的代码来通过每个单元格。 这是通过每个细胞不正确的方式吗? using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using Excel = Microsoft.Office.Interop.Excel; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\Users\username\Desktop\Error Records.csv"); Excel.Worksheet xlWorksheet = […]

使用EPPlus将所有列名迭代并添加到ComboBox

我需要将表单中的列名称添加到combobox 我已经尝试了以下 var pck = new OfficeOpenXml.ExcelPackage(); pck.Load(new System.IO.FileInfo("test.xlsx").OpenRead()); var ws = pck.Workbook.Worksheets[1]; int totalCols = ws.Dimension.End.Column; for (int i = 1; i <= totalCols; i++) { comboBox1.Items.Add( (ws.Column(i).ToString())); } } 但是这会产生一个空引用exception。 请指教。

从Excel打印标签

我有一个47列和约100行的Excel表。 我有一个Windows窗体应用程序与文本字段,button和标签。 这是我想要做的: 当我将一个数字粘贴到文本框中并单击该button时,它将search整个Excel表格,并获取表格(行,列)中特定string所在的行和列。 这工作正常。 我对表演很满意。 这是我真正想要做的 – findsearchstring的位置后,我想到同一行的第45列,并从该单元格获取string,并将其显示在标签中。 这是我的代码(我没有做的工作!) string File_name = "C:\\Users\\v-nikken\\Documents\\My Received Files\\Case Wellness.xlsx"; Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook oWB; Microsoft.Office.Interop.Excel.Worksheet oSheet; try { object missing = System.Reflection.Missing.Value; oWB = oXL.Workbooks.Open(File_name, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); oSheet = (Microsoft.Office.Interop.Excel.Worksheet)oWB.Worksheets[1]; Microsoft.Office.Interop.Excel.Range oRng = […]

Excel互操作 – 停止调整行和列的图表

调整列和行大小时,用于停止调整图表大小的正确属性是什么? 这是我正在寻找https://www.extendoffice.com/documents/excel/1823-excel-prevent-chart-resizing.html

ClosedXML – 设置单元格的数据types不起作用

我有类似的问题关于ClosedXML,就像这一个,但有点不同。 SetDataType方法不起作用。 例如,我有值string dps = "3.12.02"这不是一个date或数字,它是有效的文本。 当我这样做: ws.Cell(1, 1).Value = dps; ws.Cell(1, 1).SetDataType(XLCellValues.Text); ws.Cell(1, 1).Value = dps; ws.Cell(1, 1).SetDataType(XLCellValues.Text); 并保存该文件,然后打开它在Excel中,它仍然将其转换为一些像37593我试图把它之前和之后设置值,没有改变。 有人可以帮我吗?

Excel互操作迭代通过行,并有条件地删除整行缺less一些行

我正在build立一个Excel自动化程序,我需要有条件地删除特定的行。 例如,我有224行特定的发布者。 在这224行160行是无效的,我需要删除160.但是,当我遍历行并有条件地删除160行只有138被删除。 22行始终保留在表单中。 我找不到原因是什么? 代码写在下面。 List<string> removeList = listofRemovalOfSpecificPublishers; string path = "C:\\Library Automation\\Source\\publishers.xlsx"; var workBookData = GetWorkBookData(path, "Booking Publishers Info"); mWSheet1 = workBookData.mWorkSheet1; Microsoft.Office.Interop.Excel.Range xlRange; xlRange = mWSheet1.UsedRange; for (int i = 1; i <= xlRange.Rows.Count; i++) { string publisher = Convert.ToString(xlRange.Cells[i, 3].Value); //publisher column string bookState = Convert.ToString(xlRange.Cells[i, 8].Value); //status column if […]