Основниот концепт и разликата од другите алат
Оваа страница зема CSV-датотека - обичен текст со редови одделени со запирка, точка-запирка или табулатор - и ја претвора во Excel-работна книга (XLSX). Алатката ги задржува сите редови и колони од CSV-то во првиот работен лист на новата датотека, а пред да преземете, можете да го прегледате резултатот.
Она што ја прави оваа страница поинаква се три клучни работи:
- CSV нема типови на податоци: секое поле пристигнува како текст. Броеви, датуми и идентификатори со водечки нули (на пр. поштенски кодови, шифри на производи) се складираат како текст во XLSX-то. Ако ви треба нумерички формат или формат на датум, мора експлицитно да го поставите во Excel по конверзијата.
- CSV не носи повеќе листови, формули, стилови или форматирање: ништо од тоа не постои во изворот, така што XLSX-то содржи само голи податоци, без автоматско типизирање или форматирање.
- Разделителот го избира корисникот: CSV-форматот сам по себе не декларира дали користи запирка, точка-запирка или табулатор. Затоа морате да го изберете при конверзија.
Алатката ја чита целата датотека како една рамна табела. Доколку во CSV-то има вградени прекини на редови, вградени запирки или нецитирани полиња што го кршат шаблонот на разделителот, може да добиете грешка This CSV could not be parsed..
CSV форматот: разделители, цитирање и вообичаени стапици
CSV (Comma-Separated Values) е формат на обичен текст во кој секоја линија претставува запис, а полињата се одделени со разделител. Најчести разделители се запирка (,), точка-запирка (;) и табулатор (\t). Меѓународната стандардизација (RFC 4180) препорачува запирка, но во практиката точка-запирката е подеднакво честа, особено во средини каде децималната запирка се користи како децимален знак.
Кога поле содржи самиот разделител или прекин на ред, тоа поле мора да биде затворено во наводници. На пример:
Име,Презиме,Адреса
Иван,Петров,„Ул. „Македонија“ бр. 5, Скопје“
Овде адресата содржи запирка, па затоа е ставена под наводници. Ако наводниците недостасуваат, конверторот ќе ја подели адресата на две полиња и целата структура на табелата ќе се расипе. Вградените прекини на редови во рамките на едно поле (на пр. повеќередна адреса) бараат исто така цитирање.
CSV-форматот не поддржува типови на податоци. Број како 123 се запишува како низа од знаци, а датумот 2024-01-15 како низа од знаци. Карактеристично е дека CSV-то не може да пренесе информации за тоа дали една вредност е цел број, децимален број, валута или датум. Оваа контекстуална информација се губи и при конверзија во XLSX се враќа само како текст, освен ако самиот Excel подоцна не го препознае шаблонот.
Зошто сите вредности пристигнуваат како текст во XLSX
Кога конверторот ќе го прочита CSV-то, тој ги парсира сите полиња како низи од знаци. Не се прави обид да се протолкуваат вредностите. Ако во CSV-то пишува 01234, тоа ќе биде запишано во XLSX-то како 01234 - како текст. Ова е намерно, за разлика од повеќето Excel-импорти кои би ја отстраниле водечката нула и би ја зачувале само 1234 како број.
Тоа што вредностите пристигнуваат како текст има предности и недостатоци:
| Предност | Недостаток |
|---|---|
| Водечките нули се зачувани | Броевите не можат веднаш да се користат во математички операции |
| Кодови на производи и поштенски броеви остануваат недопрени | Датумите мора рачно да се форматираат во Excel |
| Текстот не се претвора во броеви ако не сакате | Броеви со многу цифри (на пр. 12345678901234567890) не се скратуваат во научна нотација |
За да ги претворите вредностите од текст во вистински типови откако ќе го преземете XLSX-то, во Excel изберете ја колоната и променете го форматот на ќелијата во „Број“, „Датум“ или „Текст“ според вашата потреба. Оваа дополнителна рачна операција е цената што ја плаќате за зачувување на оригиналните CSV-вредности.
Ограничувања на конверзијата: што не може да се пренесе
CSV-форматот е минималистички. Тој не поддржува:
- Повеќе работни листови: една CSV-датотека е само една табела. Затоа XLSX-то ќе има само еден работен лист (именуван „Sheet1“).
- Формули: CSV-то содржи само вредности. Ниту една формула од типот =SUM(A1:A10) не постои во CSV-то, па затоа и во XLSX-то нема да ја имате.
- Стилови и форматирање: нема бои, фонтови, граници, порамнување или условно форматирање.
- Коментари и белешки: CSV-то нема механизам за коментари.
- Замрзнати редови или колони: структурата на прозорецот не е зачувана.
- Заштита на лист: безбедносните поставки не се пренесуваат.
Резултатот е гола табела со сирови податоци. Ова е сосема очекувано, бидејќи CSV-то самиот немаат такви карактеристики. Ако сакате да ги додадете, тоа мора да го направите во Excel откако ќе го преземете XLSX-то.
Како работи обработката на клиентска страна и зошто е важна
Конверзијата се извршува целосно во вашиот прелистувач. Без оглед на големината на датотеката, ништо од нејзината содржина не се испраќа до ниту еден сервер. Прелистувачот ја парсира датотеката и го запишува конвертираниот излез локално на вашиот уред. XLSX-форматот, инаку, претставува ZIP-архива која содржи XML-датотеки што ги дефинираат работните листови, стиловите и метаподатоците. Бидејќи конверторот не внесува стилови, генерирачката постапка е поедноставена.
Овој пристап има две главни предности:
- Приватност: вашите податоци не го напуштаат вашиот уред. Ако работите со доверливи CSV-датотеки (на пр. списоци на клиенти, финансиски извештаи), ова е значајна заштита.
- Брзина: трансферот на податоци е моментален, одбрана од чекање за прикачување на сервер.
Пораки за грешки и нивно значење
Ако конверзијата не успее, алатката прикажува една од следниве пораки. Секоја порака укажува на специфичен проблем:
| Порака на македонски | Значење |
|---|---|
| „Choose a CSV, JSON or XLSX file.“ | Избраната датотека не е од поддржаните формати. Проверете дали наставката е .csv, .json или .xlsx. |
| „This file is too large. Use a file under ‹max›.“ | Големината на датотеката го надминува максималниот дозволен лимит од 8 MB. |
| „Could not convert this file.“ | Општ неуспех при конверзијата. Проблемот може да е во структурата на датотеката, кодирањето или внатрешна грешка. |
| „This CSV could not be parsed.“ | CSV-датотеката не можеше да се расчлени според избраниот разделител. Најчести причини се: нецитирани полиња што содржат разделител, вградени прекини на редови без соодветно цитирање, или неконзистентен број на полиња (секој ред мора да има ист број на полиња). |
| „This file has no table rows.“ | Датотеката не содржи ниту еден ред со податоци (освен можеби заглавие). Проверете дали во CSV-то има вистински податоци. |
| „This table has more than ‹max› rows.“ | Бројот на редови во CSV-то го надминува максималниот лимит од 10.000 редови. |
| „This table has more than ‹max› columns.“ | Бројот на колони го надминува максималниот лимит од 200 колони. |
| „Conversion cancelled.“ | Конверзијата е прекината рачно од корисникот или поради неочекуван настан. |
| „This conversion is taking too long. Try a smaller file.“ | Обработката трае подолго од околу 12 секунди, веројатно поради преголема датотека. Користете помала датотека или поделете ја. |
Најчесто поставувани прашања
1. Дали конверзијата ги зачувува водечките нули (на пр. 00123)?
Да, водечките нули се зачувуваат бидејќи вредностите се запишуваат како текст. Бројот 00123 ќе остане 00123 во XLSX-то. Ако сакате да го користите како број, по конверзијата променете го форматот на ќелијата во „Број“ или креирајте приспособен формат во Excel.
2. Зошто не можам да видам формули во XLSX-то откако ќе го конвертирам?
CSV-форматот не поддржува формули. Вашата CSV-датотека содржи само вредности, па затоа и конвертираното XLSX содржи само вредности. Ако ви требаат формули, додадете ги во Excel откако ќе го преземете фајлот.
3. Може ли да конвертирам CSV со разделител точка-запирка ако го изберам „запирка“?
Не, изборот на разделител мора да одговара на вистинскиот разделител во CSV-то. Ако изберете погрешен, парсирањето ќе пропадне и ќе добиете грешка „This CSV could not be parsed.“.
4. Дали може да конвертирам датотека со повеќе од 10.000 редови?
Не, бидејќи алатката има ограничување од 10.000 редови. Ако вашата CSV-датотека има повеќе редови, ќе ја добиете грешката „This table has more than ‹max› rows.“. Поделете ја датотеката на повеќе делови со помалку редови.
5. Дали некој друг може да ги види моите податоци за време на конверзијата?
Не. Конверзијата се извршува целосно во вашиот прелистувач, без испраќање на податоци до сервер. Вашата датотека никогаш не го напушта вашиот уред.
6. Што треба да направам ако ја добијам грешката „This file is too large. Use a file under ‹max›.“?
Намалете ја големината на датотеката со отстранување на непотребни колони или редови, или поделете ја на неколку помали CSV-датотеки пред конверзија. Максималната дозволена големина е 8 MB.