Страницы: 1
RSS
как поставить двойные кавычки в строковых значениях файла .csv?
 
Доброго времени суток!  
Стоит такая задача: базу в формате excel, необходимо загрузить на сайт. Для этого необходимо перевести файл в формат csv, и заключить строковые значения в кавычки.    
С переводом в csv все понятно("сохранить как", выбираем формат и т.д.), а вот как заключить строковые значения в двойные кавычки не понятно  
Для наглядности пример:  
при присмотре через "блокнот" excel-файла он выглядит так:  
 
номер;размер;название;модель  
1;22;333;M0009  
2;33;444;M0010  
3;44;555;M0011  
4;55;666;M0012  
5;66;777;M0013  
 
при при просмотре через тот же "блокнот" обработанного csv-файла он выглядит так:  
 
номер;размер;название;модель  
"1";22;333;M0009  
"2";33;444;M0010  
"3";44;555;M0011  
"4";55;666;M0012  
"5";66;777;M0013  
 
Знатоки, подскажите, как это делается?  
Заранее спасибо!
 
Можно макросом сформировать текстовый файл нужного вида - а csv это и есть текстовый файл.  
Поищите примеры кода по словам "Print #" или "Write"  
 
Вот на тему:  
 
Sub tt()  
Dim a, i&, ii&  
 
a = [a1].CurrentRegion.Value
 
For i = 2 To UBound(a, 1)  
Open "c:\temp\" & a(i, 7) & ".txt" For Output As #1  
Print #1, "@@@"  
 
For ii = 1 To UBound(a, 2)  
Print #1, a(1, ii) & ":" & a(i, ii)  
Next ii  
 
Print #1, "==="  
' Не забываем закрыть файл  
Close #1  
 
Next i  
 
End Sub
 
Переделал:  
 
 
Option Explicit  
 
Sub tt()  
Dim a, i&  
 
a = [a1].CurrentRegion.Value
Open "c:\temp\" & a(1, 1) & ".csv" For Output As #1  
 
For i = 1 To UBound(a, 1)  
Print #1, """" & a(i, 1) & """;" & a(i, 2) & ";" & a(i, 3) & ";" & a(i, 4)  
Next i  
 
' Не забываем закрыть файл  
Close #1  
 
End Sub
 
Hugo, спасибо! Но я не силен в макросах  
Есть ли какие-то более простые пути? без использования макросов  
Знаю, что это делают в OpenOffice, но на интуитивном уровне осилить его не удалось...
 
может быть так:  
добавить столбец с формулой  
=СИМВОЛ(34)&A1&СИМВОЛ(34)  
копировать-спец.вставка значения  
заменить столбец A данными с кавычками, сохранить как csv.
 
Попробовал совет egonomist - тоже годится. Только если потом открыть файл блокнотом, заменить там все """ на ", и удалить последнююю строку.  
На пару раз можно и так...
 
к сожалению такой способ не подходит,  
у меня большой объем информации и необходимо, что бы все происходило без ручной правки...
 
{quote}{login=ildar1313}{date=31.01.2012 11:16}{thema=}{post}... не подходит,  
у меня большой объем информации и необходимо, что бы все происходило без ручной правки...{/post}{/quote}  
Off У вас прохудились башмаки, с чужой ноги не подходят, сами новые сшить не умеете... Выход? - Заказать, купить новые... ;)  
-54346-
 
Макрос сложно, вручную править - трудно.  
Наймите человека :)
 
{quote}{login=Hugo}{date=31.01.2012 11:33}{thema=}{post}Макрос сложно, вручную править - трудно.  
Наймите человека :){/post}{/quote}Дорого.
Я сам - дурнее всякого примера! ...
 
{quote}{login=ildar1313}{date=31.01.2012 11:16}{thema=}{post}к сожалению такой способ не подходит, у меня большой объем информации и необходимо, что бы все происходило без ручной правки...{/post}{/quote}Интересно: нужно без ручной правки, но автоматизировать не хотите. Так ЧТО нужно?
Страницы: 1
Читают тему
Наверх