将Excel中的十进制值复制到C#将导致只复制显示的值

我试图从Excel电子表格复制一些值到C#WPF应用程序。 我注意到,当我在Excel中select单元格,并将其复制到剪贴板,然后粘贴到WPF应用程序时,我得到显示的值不是真正的值,即考虑单元格的值为2.232323。 如果在“格式单元格”窗口中的Excel中,我只设置一个小数位,那么Excel将显示2.2。 如果现在我把它复制到WPF,那么我得到2.2而不是2.232323。 我注意到记事本做同样的事情。 有没有办法获得真正的价值? 我用来复制单元格的代码:

DataObject o = (DataObject)Clipboard.GetDataObject(); string[] pastedRows = Regex.Split(o.GetData(DataFormats.Text).ToString().TrimEnd(Environment.NewLine.ToCharArray()), Environment.NewLine); 

尝试这个:

 IDataObject dataObject = Clipboard.GetDataObject(); System.IO.MemoryStream stream = dataObject.GetData("XML Spreadsheet") as System.IO.MemoryStream; if(stream != null) { stream.SetLength(stream.Length - 1); XElement xml = XElement.Load(stream); XNamespace ns = "urn:schemas-microsoft-com:office:spreadsheet"; double actualValue; var data = xml.Descendants(ns + "Data").Where(x => (string)x.Attribute(ns + "Type") == "Number"); if(data != null && data.Any()) { actualValue = (double)data.First(); MessageBox.Show(actualValue.ToString()); } stream.Dispose(); }