以字符串数组的形式获取从应用程序中的 excel 文件复制的数据

get data copied from an excel file in the application in a form of a string array

我想要做的是从 excel 复制一列,将数据粘贴到应用程序,然后形成该数据的数组。

我不知道该怎么做我试过了:

var x = Clipboard.GetDataObject();

但 x 似乎等于 null。 那么,这是可能的还是有其他方法可以做到这一点? 感谢您的帮助,

选择一列并使用 GetText() 返回由新行分隔的字符串中的所有值:

"\r\nTest 1\r\n\r\n\r\nTest 2\r\n\r\nTest 3\r\n"

您可以采用该值,并在新行上拆分(删除没有值的空单元格):

var columnText = Clipboard.GetText();

var values =
  columnText.Split(new[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries);

您最终会得到一个字符串数组,其中包含(使用我的示例)三个元素。

您也可以将其作为逗号分隔值获取,如下所示:

var clipObj = Clipboard.GetDataObject();
if (clipObj != null && clipObj.GetDataPresent(DataFormats.CommaSeparatedValue))
{
    var csv = clipObj.GetData(DataFormats.CommaSeparatedValue) as string;
    csv.Dump();
}