Страница 1 из 1
Импорт данных Excel в план поизводства (JS)
Добавлено: 14 дек 2012, 19:40
savov
Всем доброго времени суток!
Возникла потребность загнать план ( excel - файл) в Галактику, сделав из него план производства.
Пробую сваять сие в JS.
Взялся за алгоритмы экспорта-импорта из XML, но что-то не идет дело. По ходу Галактике нужен специальный формат XML-исходника. Но если юзер сохраняет исходный файл как XML, то требовать от него еще каких-то операций по преобразованию - не разумно.
Были ли у кого похожие случаи? Не поделится ли кто идеями?
Re: Импорт данных Excel в план поизводства (JS)
Добавлено: 14 дек 2012, 20:50
Dmitry_Sol
А зачем так сложно?
JavaScript отлично напрямую работает с Excel
вот пример кода
Код: Выделить всё
var Excel,Book;
Excel = new ActiveXObject("Excel.Application");
fil1=GetFileName('*.xls','Выбор файла')
fil=JS_TranslatePath(fil1)
Debug.Print(fil1,fil)
Book =Excel.Workbooks.Open(fil);
Book.Application.Visible = true
var excel_sheet = Book.Worksheets("Отчет");
var i=6;
while(Book.ActiveSheet.Cells(i,3).Value!=null) //Пока колонка 3 не станет пустой
{
katmc.findmc(Book.ActiveSheet.Cells(i,3).Value)
katmc.getFirst()
Debug.Print(katmc.name,Book.ActiveSheet.Cells(i,2).Value,Book.ActiveSheet.Cells(i,2).Value,Book.ActiveSheet.Cells(i,5).Value,katmc.name)
if(Book.ActiveSheet.Cells(i,20).Value!=null)
{
stmnpl.findbymc(curpl(),1,katmc.nrec)
if(stmnpl.getFirst()==0)
{
stmnpl.createst(curpl())
stmnpl.tmc=1;
stmnpl.cmc=katmc.nrec
stmnpl.ced=katmc.ced
stmnpl.rewrite();
spmnpl.createsp(stmnpl.nrec,copz,curpl(),0,0,0);
spmnpl.kolost=Book.ActiveSheet.Cells(i,20).Value
spmnpl.sumost=Book.ActiveSheet.Cells(i,22).Value
spmnpl.priceost=spmnpl.sumost/spmnpl.kolost
spmnpl.rewrite()
}
else
{
spmnpl.findbyst(stmnpl.nrec)
for(spmnpl.getFirst();ResultOfNavigation;spmnpl.getNext())
{
spmnpl.kolost=spmnpl.kolost+Book.ActiveSheet.Cells(i,20).Value
spmnpl.sumost=spmnpl.sumost+Book.ActiveSheet.Cells(i,22).Value
spmnpl.priceost=spmnpl.sumost/spmnpl.kolost
spmnpl.rewrite()
}
}
}
Debug.Print(katmc.name)
i++;
}
Book.Application.Quit()
А если хотите работать с XML, то для этого тоже есть виндовый парсер
Re: Импорт данных Excel в план поизводства (JS)
Добавлено: 21 дек 2012, 11:54
savov
Dmitry_Sol писал(а):А зачем так сложно?
JavaScript отлично напрямую работает с Excel
А вот функции GetFileName я что-то не могу найти в JS?
Re: Импорт данных Excel в план поизводства (JS)
Добавлено: 21 дек 2012, 13:20
Dmitry_Sol
Извиняюсь косячок вышел.
Это я из своей библиотеки, которую в Javascript подключал.
Опубликую в опыте. Может еще кому пригодится.
Re: Импорт данных Excel в план поизводства (JS)
Добавлено: 11 янв 2013, 15:35
savov
Dmitry_Sol писал(а):А вот функции GetFileName я что-то не могу найти в JS?
Можно и так:
Код: Выделить всё
Excel = new ActiveXObject("Excel.Application");
fil1='';
fil1=Excel.GetOpenFilename("Excel файл (*.xls*), *.xls*");
Проверено, работает