Tag: c#

C#Exceldate值以数值forms出现

Excel文件是由第三方应用程序生成的。 我正在编写一个实用程序来进一步处理该Excel文件。 当我读取包含date值的列时,我得到一个数字string,如05/02/2016(dd / MM / yyyy)即将到达42405。 我已经尝试使用.Text,.Formula,.Value,.Value2 – 所有的方法都返回数值。 我知道FromOADateTime,但我的要求是读取date值作为一个string,正是它在屏幕上显示的方式。 谢谢。 编辑1:当我将列转换为Excel中的文本,通过使用格式单元格并select文本,所有date值甚至在Excel中转​​换为数值! 这是否提供任何线索? 第三方应用程序可能将数据存储为数字值,但Excel将其显示为屏幕上的datestring。 我想读取屏幕上显示的值。 编辑2: 该问题没有出现在该列中的所有date值中。 我的第一印象是,将date值写入Excel时,第三方应用程序不一致。 但我无法控制它。 编辑3:这是下载文件的链接: http : //wikisend.com/download/316956/Prob.xls 。 在这个文件中,我需要从第13行开始读取列B中的所有date值作为文本 下面是我的机器的外观截图的链接: http : //wikisend.com/download/443994/Screenshot1.jpg 编辑4:find罪魁祸首在我的代码与NineBerry的答案帮助:阅读Text属性之前,我打电话ws.Columns.ClearFormats()和ws.Rows.ClearFormats(); 我需要做到这一点: 如何获得Excel表格中占用的单元格的范围 …,以便正确获取表单中使用的范围! 原来的问题解决了。 现在的问题是如何使用ws.UsedRange而不调用ClearFormats()来正确获取使用单元格的范围。 我的具体要求是获得在任何单元格中使用的ROWS数据范围达到Col H. I不需要在Excel中使用整个UsedRange,Col H中的UsedRange对我来说已经足够了。 任何解决scheme? 或者我应该发布一个新的线程?

如何在Excel中使用Openxml在C#中创buildDropdownlist

有一些从XML文件创build的工作表。 在第二张表中有一些名字.excel是通过读取XML文件创build的,并且借助于OPEN-XML将其更改为数据集和后来创build的工作表以及所有其他行和列。 所以我想创build一个使用第二张表名称的列表,并将第一张表中的列表显示为下拉列表。使用OPEN-XML我想创build一个从第二页获取数据的下拉列表。 我浏览很多时间,但我没有find任何解决scheme是否可以使用openxml创build下拉菜单。 这是我从xml文件创buildexcel的整个代码,所以如果有解决scheme,请帮助我。 public void ExportDSToExcel(DataSet ds, string dest) { try { using (var workbook = SpreadsheetDocument.Create(dest, DocumentFormat.OpenXml.SpreadsheetDocumentType.Workbook)) { var workbookPart = workbook.AddWorkbookPart(); workbook.WorkbookPart.Workbook = new DocumentFormat.OpenXml.Spreadsheet.Workbook(); workbook.WorkbookPart.Workbook.Sheets = new DocumentFormat.OpenXml.Spreadsheet.Sheets(); uint sheetId = 1; foreach (DataTable table in ds.Tables) { var sheetPart = workbook.WorkbookPart.AddNewPart<WorksheetPart>(); var sheetData = new DocumentFormat.OpenXml.Spreadsheet.SheetData(); sheetPart.Worksheet = new […]

用C#中的excel数据创buildHashMap

我是新来的C#和我有一个Excel列表2列,我想创build一个哈希表在该表中的date。 比方说excel表单看起来像 A Value1 A Value2 A Value3 B value4 B value5 其中A和B在第一列中,第二列中的值 我想要创build一个hashmap HashMap<String, List<String>>(); 其中string将是关键,List将是该关键字的值 有什么想法吗? 谢谢

组件名称列表中缺lessMicrosoft.Office.Interop.Excel

“组件名称”列表中的Microsoft.Office.Interop.Excel在“组件”页面上缺失。 我需要包括: using Microsoft.Office.Interop.Excel; 但它会引发错误: 名称空间“Microsoft”中不存在types或命名空间名称“Office”(是否缺less程序集引用?) 而且我也无法在参考文献中find它。

如何查找与当前单元格C#+ Excel相邻的单元格的值

我写了一个程序,find一个包含“客户:”的单元,程序成功运行。 问题是,我想直接在单元格旁边的单元格的值。 布局看起来像这样: __________ _________ |Customer:| | Steve | |_________| |________| |Customer:| | John | |_________| |________| |Customer:| | Frank | |_________| |________| 所以在这种情况下,我想要的值“史蒂夫”,“约翰”,“弗兰克”。 我怎样才能做到这一点? 谢谢,卢克 我的代码: public void gatherInfo() { string temp = ""; Excel.Range currentFind = null; Excel.Range firstFind = null; foreach (Excel.Worksheet sheet in excelWorkbook.Application.Worksheets) { try { // access cell within […]

C#Excel进程持续

我有一个C#应用程序将大量数据导出到Excel。 我将Excel应用程序打开,以便用户可以决定他们想要做什么。 但是,当Excelclosures时(直接从Excel中),还有一个Excel进程挂起,必须手动杀死。 我想一个解决scheme是将数据保存在Excel中,并使用Marshal将其closures,从而不会让Excel应用程序四处闲逛,但是我的用户在导出数据时需要打开文件。 有没有人发现僵尸进程的方式?

CSV与EPPlusparsing问题

我正在使用EPPlus来读取数据。 该数据由.xlsx或.csv 。 当文件是.csv文件时,我使用LoadFromTextfunction。 但EPPlus决定它也必须parsing所有的值, 而不应该这样做 。 例如: Id;Double; 1;-3,88; ExcelTextFormat format = new ExcelTextFormat(); format.Delimiter = ';'; worksheet.Cells[1, 1].LoadFromText( "file", format ); 结果是工作表中的-3,88值变为: -388 。 我发现这是因为EPPlus将-3,88视为一个数字,并将其parsing为默认文化InvariantCulture ,在这种情况下(类似于) us-US 。 我如何实现EPPlus加载csv而不parsing? (将所有值作为string)

如何从ASP.NET MVC导出数据到MS Excel

我试图导出数据从MVC excel。 我不明白为什么; public void DownloadAsExcelOrderReports() { try { var list = _reportWork.GetList(); GridView gv = new GridView(); gv.DataSource = list; gv.DataBind(); Response.ClearContent(); Response.Buffer = true; Response.ContentEncoding = System.Text.Encoding.UTF32; Response.AddHeader("content-disposition", "attachment; filename=Marklist.xls"); Response.ContentType = "application/ms-excel"; Response.Charset = ""; using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter htw = new HtmlTextWriter(sw)) { gv.RenderControl(htw); Response.Output.Write(sw.ToString()); Response.Flush(); […]

附加到已创build的excel文件

我有这个Excel文件,目前从我的C#应用​​程序的内容写入其单元格内容: private void button8_Click(object sender, EventArgs e) { Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); if (xlApp == null) { MessageBox.Show("Excel is not properly installed!!"); return; } Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); xlWorkSheet.Cells[1, 1] = comboBox2.Text; xlWorkSheet.Cells[1, 2] = textBox5.Text; xlWorkSheet.Cells[1, 3] = textBox2.Text; xlWorkSheet.Cells[1, 4] = comboBox3.Text; […]

附加到现有的Excel文件

我有写这个function,并保存到一个excel文件。 我现在要做的是附加到相同的现有的Excel文件。这是function: private void button8_Click(object sender, EventArgs e)//creates excel file and writes data to it { Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); if (xlApp == null) { MessageBox.Show("Excel is not properly installed!!"); return; } if (System.IO.File.Exists("cross_check.xls")) { } else { Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); IndexProp += […]