Как программно вставить текст CSV в Excel, а не просто перейти в одну ячейку? (C ++) - PullRequest
0 голосов
/ 23 июня 2011

У меня есть список / сетка в приложении MFC (c ++). Я хотел бы, чтобы пользователь мог копировать и вставлять данные в электронную таблицу.

Я поместил данные в буфер обмена, и текст нормально помещается в буфер обмена, и я могу вставить их в блокнот, Word или Excel, но Excel не интерпретирует значение моего содержимого буфера обмена через запятую, поэтому он просто входит в одну ячейку / один столбец, а не делает то, на что я надеялся.

Надеюсь, что-то простое мне не хватает.

Какие-нибудь предложения, чтобы заставить это работать?

Я не совсем готов сделать это источником перетаскивания (который находится в списке задач)

EDIT:

У меня это работает - запятые не могут использоваться - должны быть разделители табуляции

Но теперь появилась новая проблема:

Теперь проблема в том, что если я вставлю в Excel, используя '\ n' в качестве разделителя строк, он будет хорошо выглядеть в Excel, но не в блокноте.

Если я сделаю это "\ r \ n", блокнот будет выглядеть правильно, но в Excel появится пустая строка.

Любые предложения о том, как сделать оба согласованных?

Ответы [ 2 ]

0 голосов
/ 04 октября 2011

Ну, вот мои два цента .. Кажется, что символ табуляции в строке NSString, такой как @ "123 \ t456", сообщает Numbers и таблицам OpenOffice, что 456 переходит в следующую ячейку той же строки.

Аналогично, символ новой строки \ n или возврат каретки \ r помещают последующие данные в новую строку, например, @ "123 \ n456" или @ "123 \ r456" помещают 456 в следующую строку. строка (начиная с первого столбца слева).

Действительно, TextEdit не интерпретирует перевод строки (\ n) или возврат каретки (\ r). (Текстовые документы OpenOffice делают.) Однако, предоставляя в монтажную панель массив строк (будь то NSStringPBoardType, или NSRTFPBoardType, или что-то еще), эти строки помещаются в отдельные строки как в электронной таблице, так и в TextEdit.

Кроме того, вкладка (\ t) отображается как вкладка в TextEdit, которой вы можете затем манипулировать на панели инструментов, чтобы получить хороший макет ваших данных.

0 голосов
/ 23 июня 2011

Я использовал этот вопрос, и вкладки, кажется, работают - но CSV по-прежнему не

Как вставить данные CSV в буфер обмена Windows с помощью C #

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...