Создать таблицу и записать данные в utf-8. Сниппет C#.

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
Всем привет. Записывает вот такой треш в таблицу csv.
Таблица создается новая из зенки.
Код:
Наша компания Р·Р
Как победить?
 
Последнее редактирование:

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
353
Баллы
63

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
353
Баллы
63
открой ее просто в блокноте в кодировке UTF 8 должно отображаться нормально, тоже была такая ерунда. я просто файл пересохранил в блокноте в кодировке утф 8 и стало записывать нормально
 
  • Спасибо
Реакции: Mikhail B.

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
открой ее просто в блокноте в кодировке UTF 8 должно отображаться нормально, тоже была такая ерунда. я просто файл пересохранил в блокноте в кодировке утф 8 и стало записывать нормально
Огонь! Реально помогло))
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
создай её в коде с нужной кодировкой
Код:
File.WriteAllText("Table.csv", "EMAIL;NAME;INFO;DATE", System.Text.Encoding.UTF8);
1.полный путь к таблице
2.заголовки если надо
 
  • Спасибо
Реакции: pym933

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
А можно путь из переменной проекта прописать? как?))
да конечно, где имя таблицы туда впиши свою переменую

Код:
File.WriteAllText(твоя переменая, "EMAIL;NAME;INFO;DATE", System.Text.Encoding.UTF8);
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
создай её в коде с нужной кодировкой
Код:
File.WriteAllText("Table.csv", "EMAIL;NAME;INFO;DATE", System.Text.Encoding.UTF8);
1.полный путь к таблице
2.заголовки если надо
Я так и не понял, как использовать ее. Где указать входные данные, а где выходные?
создать таблицу csv utf-8 сниппет C# создать новую таблицу из кода
 
Последнее редактирование:

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
C#:
string file_csv = project.Variables["file_csv"].Value; // путь куда сохранять (с:\2.csv)
string text = project.Variables["Stroka_Zagolovkov"].Value + "\r\n" + project.Variables["Stroki_Texta"].Value; // клеим заголовки и текст в 1 таблицу
File.WriteAllText(file_csv, text, System.Text.Encoding.UTF8); //пишем
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 415
Благодарностей
5 454
Баллы
113
C#:
string file_csv = project.Variables["file_csv"].Value; // путь куда сохранять (с:\2.csv)
string text = project.Variables["Stroka_Zagolovkov"].Value + "\r\n" + project.Variables["Stroki_Texta"].Value; // клеим заголовки и текст в 1 таблицу
File.WriteAllText(file_csv, text, System.Text.Encoding.UTF8); //пишем
Бомбически!
А как сделать, что бы он дописывал данные уже в существующий файл?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
Бомбически!
А как сделать, что бы он дописывал данные уже в существующий файл?
https://zennolab.com/discussion/threads/kak-zapisat-rezultat-peremennoj-v-fajl.42304/#post-314013
Я это под себя настряпал с примеров других пользователей форума, гугли аналоги по фразе:
appendNewLine site:zennolab.com
но хз как там с конфликтными кодировками.
 
  • Спасибо
Реакции: Mikhail B.

smartwisard

Client
Регистрация
17.01.2017
Сообщения
824
Благодарностей
83
Баллы
28
Как именно будет выглядеть создание новой таблицы
C#:
string file_csv = project.Variables["file_csv"].Value; // путь куда сохранять (с:\2.csv)
string text = project.Variables["Stroka_Zagolovkov"].Value + "\r\n" + project.Variables["Stroki_Texta"].Value; // клеим заголовки и текст в 1 таблицу
File.WriteAllText(file_csv, text, System.Text.Encoding.UTF8); //пишем
если путь
{-Project.Directory-}{-Variable.folder-}\Table.xls , т.е. C:\Users\user\OneDrive\{-Variable.folder-}\Table.xls
строка заголовков
Рубрика Подрубрика Подрубрика Подрубрика Цена Заголовок Описание Тип Состояние Срок
переменные
A B C D price title content type shape term
 

alya_6

Client
Регистрация
27.08.2018
Сообщения
172
Благодарностей
19
Баллы
18
Здравствуйте, господа.
Помогите, пожалуйста.
Использую сниппет:
C#:
string file_xslx = project.Variables["file_xslx "].Value; // путь куда сохранять (с:\2.xlsx)
string text = project.Variables["Stroka_Zagolovkov"].Value + "\r\n" + project.Variables["Stroki_Texta"].Value; // клеим заголовки и текст в 1 таблицу
File.WriteAllText(file_xslx , text, System.Text.Encoding.UTF8); //пишем
Все работает, но таблица отказывается открываться в Excel. При открытии таблицы пишет ошибку: "Не удалось открыть файл, так как фрмат или расширение этого файла являются недопустимыми. Убедитесь, что файл не поврежден и т.д. и т.п."
При этом через блокнот открывается (кодировка UTF-8, все как нужно) и через OpenOffice тоже открывается с нужной кодировкой.

Что делать?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
Потому что вы пишете на диск обычный текстовый файл тупо принудительно давая ему расширение файлов XLSX. Используйте не "с:\2.xlsx", а "с:\2.txt" или "с:\2.csv". Или меняйте метод сохранения вообще, если надо именно xlsx. Я бы советовал CSV, но работать потом с ним не в екселе а в EmEditor. Разницу между форматами я описывал здесь.
 
  • Спасибо
Реакции: alya_6 и Phoenix78

alya_6

Client
Регистрация
27.08.2018
Сообщения
172
Благодарностей
19
Баллы
18
Потому что вы пишете на диск обычный текстовый файл тупо принудительно давая ему расширение файлов XLSX. Используйте не "с:\2.xlsx", а "с:\2.txt" или "с:\2.csv". Или меняйте метод сохранения вообще, если надо именно xlsx. Я бы советовал CSV, но работать потом с ним не в екселе а в EmEditor. Разницу между форматами я описывал здесь.
Здравствуйте, да, я об этом же подумала - принудительно задаю файлу расширение, это добром не кончится. Спасибо, буду думать.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)