以字符串数组的形式获取从应用程序中的 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();
}
我想要做的是从 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();
}