Tag: c#

与RegQueryValueEx奇怪的行为whitch返回值的另一个寄存器

我想从registry的Excel.exe的path。 所以我使用了以下内容: 我正在使用Windows64位 RegOpenKeyEx(HKEY_LOCAL_MACHINE, szKey, 0, KEY_READ, &hKey) 同 szKey = "\Classes\CLSID\{ExcelCLSID}\LocalServer", 该寄存器包含“C:\ PROGRA〜1 \ MIF5BA〜1 \ Office15 \ EXCEL.EXE / automation” 用它来获取Excel.exepath RegQueryValueEx(hKey, NULL, NULL, NULL, (BYTE*)szPath, &cSize) 所以当构build我的解决scheme的平台x64 ,我得到的path C:\\PROGRA~1\\MIF5BA~1\\Office15\\EXCEL.EXE /automation 这是好的 ,但是当我构build我的Win32平台的解决scheme时,我得到以下path "C:\\Program Files\\Microsoft Office\\Office15\\EXCEL.EXE" /automation 这很奇怪,因为这个值存储在下面的registry中 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{ExcelCLSID}\ 我在这里错过了什么?

我怎样才能导入我的列表框到Excel与C#

我想在Excel文件中导入我的ListBox。 但我不断得到这个错误HRESULT:0x800A03EC可以有人帮我我google了,但没有find任何东西 我的代码 string ExcelFileLocation = (@"C:\Users\bra\Desktop\EXCELFILe"); Excel.Application oApp; Excel.Worksheet oSheet; Excel.Workbook oBook; oApp = new Excel.Application(); oBook = oApp.Workbooks.Add(); oSheet = (Excel.Worksheet) oBook.Worksheets.get_Item(1); int i = 0; i++; for (int j = 0; j < listBox1.Items.Count; j++) { oSheet.Cells[j, 1] = listBox1.Items; } oBook.SaveAs(ExcelFileLocation); oBook.Close(); oApp.Quit(); 我的ListBox项目 private void Form1_Load(object sender, EventArgs e) { […]

导入Excel工作表(双值)在WPF C#

我是新来的C#和WPF,我想导入Excel文件到WPF中的DataGrid双格式,并能够使用这个值。 我有一个很多双值的excel表单: 76.0245 0.8145 0.1404 121.0000 15.2302 0.0322 0.1249 4.5966 83.2723 0.8184 0.1544 179.0000 10.7985 0.0113 0.1101 4.2184 81.5676 0.9220 0.2247 67.0000 55.7615 0.0026 0.1259 3.9835 71.6719 0.7182 0.0758 76.0000 49.7601 0.0140 0.1445 1.4708 83.1574 0.9266 0.1105 118.0000 28.8463 -0.0018 0.1328 1.3735 73.7841 0.8695 0.0656 90.0000 37.1378 -0.0146 0.1106 1.1112 60.5380 0.7402 0.0511 110.0000 19.1055 […]

Excel Interop COMException HRESULT:0x800A03EC访问隐藏的单元格时

我在使用Excel Interop在C#中访问Excel中的命名单元格时出现问题,当单元格被隐藏时,我像这样访问它: bool SomeBoolean = WorkSheet.Range["MyRangeName"].Value; 当我访问它时,Range属性隐式调用get_range ,这是根据堆栈跟踪抛出exception的。 用于直接调用get_range的代码,并有类似的结果。 如果我取消隐藏单元格,它工作正常。 如果我逐行通过代码,它可以正常工作(这总是令人沮丧的情况)。 当然,我可以通过取消隐藏单元格来解决这个问题,但我想尝试find一个更优雅的解决scheme。 我已经钻研了MSDN文档和几个线程在这里,但我似乎无法find任何东西。 任何帮助将非常感激! Worksheet.Range的MSDN页面: https : //msdn.microsoft.com/en-us/library/office/ff836512.aspx

使用C#更新/擦除XML中给定的string

所以我试图映射一个Microsoft Excel文件,然后从中提取xml文件。 我这样做后,我最终得到一个XML文件,就像这样: <domain> <prio>priority</prio> <fund>Fundamentals</fund> </domain> **<onething />** <domain> <prio>priority</prio> <fund>Fundamentals</fund> </domain> **<anotherthing />** 注意** **之间的标签。 Microsoft Excel自动在没有值的字段中生成它们。 这个标签可以是xml映射上的任何标签。 所以,这些标签之间唯一的共同点就是字符“<”“/”and“>。例如: <aBadTag/> 所以,我正在写ac#代码,我想要做的是:1 – 检查所有XML文件的每一个出现<xxxx /> 2 – 删除该标签。 我到目前为止的代码是: XmlDocument doc = new XmlDocument(); doc.Load(c:\someXml.xml); XmlNodeList stuffNodeList = doc.SelectNodes("//*[starts-with(name(), 'domain')]"); foreach (XmlNode stuffNode in stuffNodeList) { if (doc.InnerXml.Between("<", "/>") != "") { //should have […]

screenupdating = false,Excel UI将冻结

我遇到了“screenupdating = false”的问题,Excel将冻结。 public partial class Sheet1 { private void button1_Click(object sender, EventArgs e) { this.Application.ScreenUpdating = false; } } 有没有人遇到这个问题? 谢谢。 语言 – C#操作系统 – Windows 7 64位工具 – Visual Studio Ultimate 2013 + .Net Framework 4.6.2 + Office Excel 2010 64位

Microsoft.Office.Interop.Excel如何得到正确的最后一行?

我正在尝试使用Microsoft.Office.Interop.Excel来获取我的excel文件的行号,这是40424行。 我已经尝试过下面的代码: 他们只返回38304,这是不正确的。 什么是正确的方法来获得正确的行号?

c ++程序读取excel数据的单列,其中包含两个由逗号分隔的double值,并将每个值存储在自己的数组中

我有一个excel文件,其中有一个双列值的单个列,一个逗号,然后在每个单元格中的另一个double值。 例如:5.393,4.1245 我希望能够读取这些值并将它们存储在单独的数组中。 一个包含x值的数组和一个包含y值的数组,以便我可以用它们做其他事情。 // string to be read from excel string s1; // declare object ifstream input; // open workbook input.open("Workbook3.csv"); // check if file exists if(input.fail()) { cout << "File does not exist." << endl; cout << "Exiting Program." << endl; return 0; } while(getline(input, s1, ',')) { // using this format I […]

如何使用C#中的LINQ将数据从Gridview或数据库导出到Excel?

我用这个代码从Excel Sheet导入数据到数据库,现在我想做相反的事情。 private void pictureBox1_Click(object sender, EventArgs e) { string pach = @"D:\C# Projects\P.xlsx"; var exlData = new ExcelQueryFactory(pach); var data = from x in exlData.Worksheet<excelData>("Sheet1") select x; DataClassesDataContext db = new DataClassesDataContext(); foreach (var d in data) { db.tbl_PrsInfos.InsertOnSubmit(new tbl_PrsInfo { Id = d.Id, FullName = d.FullName, Personnely = d.Personnely, CodeBank = d.CodeBank, Bank […]

在Excel文件中只取一部分行

我有一个98列和58行的Excel表格,我看到与代码 IXLRow row = ws.Row(6); 该行取A6列到最后一个XFD6。 有select只能达到98或说只拿列不是空的? 谢谢