我有一個Winform項目,在Microsoft Framework 3.5上創建。 用戶可能已經安裝了Windows 7或Windows XP以及Office 2007或更高版本。如何使用剪貼板將數據從Excel表格複製到DataTable?
我正在開發一個過程來獲取剪貼板數據並放入C#DataTable中。 我已經創建了一個方法從剪貼板獲取原始數據並將其上傳到DataTable中。
但在某些情況下,Excel數據顯示的值,但內部有另一個:
我調查的方法,以從Excel中獲得的原始數據:
string XmlFmt = "XML Spreadsheet";
var clipboard = Clipboard.GetDataObject();
if (clipboard.GetDataPresent(XmlFmt))
{
var clipData = clipboard.GetData(XmlFmt);
StreamReader streamReader = new StreamReader((MemoryStream)clipData);
streamReader.BaseStream.SetLength(streamReader.BaseStream.Length - 1);
string xmlText = streamReader.ReadToEnd();
var stream = new StringReader(xmlText);
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(xmlText);
DataSet dsExcelData = new DataSet();
dsExcelData.ReadXml(new XmlNodeReader(xmlDocument));
}
但是,此方法使用Excels數據的每個部分的配置來檢索具有多個表的DataSet:
基本上,我想將這些結構轉換爲只有原始數據的簡單DataTable。 有人可以幫助我一個提示如何實現這一目標? ...我不想在這個實現中使用第三方庫。
dsExcelData.Tables [0]將爲您提供第一個基礎數據表 – MethodMan