Как сделать массив из datatable для использования в буфере обмена
На данный момент я застрял с колоннами.
вот мой код:
Dim s As New StringBuilder Dim str As String For Each dr As DataRow In dt.Rows For i As Integer = 0 To dt.Columns.Count - 1 For Each col As DataColumn In dt.Columns str = dr.Item(col.ColumnName).ToString() + "|" s.Append(str) Next Next Next
Вместо того, чтобы каждый столбец был индивидуализирован, все имена столбцов хотят работать вместе в 1 столбец. например, у меня есть ID, имя, фамилия и адрес.
они помещаются в 1 столбец следующим образом: IDFirstnameLastnameAddress
как я могу разделить это так, чтобы буфер обмена распознал их как отдельные имена?
Что я уже пробовал:
Попытался использовать функцию разделения и добавить символ в bewteen, но это тоже не сработало.
phil.o
Что такое s
переменная? Что именно вы ожидаете от него в конце? Какая польза от первого цикла for, если вы не используете i
переменная? (оба ваших цикла кажутся избыточными, так как они функционально идентичны)
Member 11856456
Я улучшил код в этом вопросе, но он все еще не совсем там, где мне нужно.
phil.o
Буфер обмена сам по себе ничего не "распознает", за исключением, может быть, типа содержимого (текст, изображение, файл и т. д.). Ответ зависит от того, куда вы хотите вставить содержимое буфера обмена: в приложении c# простой string.Split("|")
например, в Excel вам придется использовать системный разделитель списков, чтобы Excel правильно интерпретировал данные.
Member 11856456
в целом это главная цель, я сделал это дальше, но она не помещает информацию в ячейки, в которых они находятся. Как бы я дал ему понять, что информация должна быть разделена на строки и столбцы?
phil.o
Вы говорите о Excel? Ты никогда не упоминал об этом.
Member 11856456
Я полагал, что знание того, как построить datatable, в конечном итоге приведет меня к нему. По крайней мере, это то, на что я надеюсь. Кроме того, я подумал, что людям будет легче помочь мне с нанизыванием столбцов и строк данных.