С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 188

Конвертация html файла в xlsx с заменой символов

12.05.2019, 20:51. Показов 2244. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, создаю очередную тему

Прошу помощи со следующей появившейся проблемой.
Есть файлы с разрешением .xls, при их открытии Excel ругается на неверный формат.
Как оказалось, это .html файлы, только с разрешением .xls (можно проверить путём переименования).

В связи с эти возникла потребность перегонять такие файлы в формат .xlsx - не путём переименования, а именно конвертацией.
Также в процессе сохранения файла необходимо убирать символы '.

Куда копать? Кто то решал аналогичные кейсы?
Файл во вложении.
Вложения
Тип файла: xls Côte d'Ivoire_0103.xls (2.3 Кб, 8 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.05.2019, 20:51
Ответы с готовыми решениями:

Загрузка .xlsx файла и вывод в HTML
Суть проста, чтобы пользователь загружал любой excel файл, и ему выводилась содержимое документа.

Конвертация txt файла в HTML
Есть txt файл, который был сгенерирован скриптом. Можно ли как-то переконвертировать этот файл в HTML со всем форматированием? (txt...

Конвертация *.doc файла в формат html
Всем привет!!! Начал писать прогу парсер doc файлов. С регулярками разобрался. Теперь необходимо конвертация этого же doc файла в формат...

8
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
12.05.2019, 23:17
Лучший ответ Сообщение было отмечено truelogin как решение

Решение

C файлом, что во вложении, совсем не сложно это сделать

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Imports Microsoft.Office.Interop.Excel
 
Public Class Form1
    Private Sub Button1_Click(ByVal sender As Object,
    ByVal e As EventArgs) Handles Button1.Click
 
        Dim xlApp As New Application()
        xlApp.DisplayAlerts = False ' скрыть диалог сохранения
        Dim xlWorkBook = xlApp.Workbooks.Open("Côte d'Ivoire_0103.xls")
        xlWorkBook.SaveAs("NewFileName.xlsx", XlFileFormat.xlOpenXMLWorkbook)
        xlWorkBook.Close()
        xlApp.Quit()
 
        releaseObject(xlApp)
        releaseObject(xlWorkBook)
 
 
    End Sub
 
 
    Private Sub releaseObject(ByVal obj As Object)
        Try
            System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
            obj = Nothing
        Catch ex As Exception
            obj = Nothing
        Finally
            GC.Collect()
        End Try
    End Sub
 
End Class

Необходимо добавить ссылку
Add References -> COM -> Microsoft (номер) Object Library
1
258 / 199 / 49
Регистрация: 18.12.2015
Сообщений: 416
13.05.2019, 00:37
Можно воспользоваться встроенным конвертором Excel
VB.NET
1
2
3
4
5
6
7
8
9
10
        With New Excel.Application
            Dim Path As String = "D:\Côte d'Ivoire_0103.xls"
            Dim FileName As String = .Path & "\excelcnv.exe"
            Dim Arguments As String = "-oice """ & Path & """ """ & FileIO.FileSystem.GetFileInfo(Path).DirectoryName & "\" & IO.Path.GetFileNameWithoutExtension(Path) & ".xlsx""" & ""
            With New Process()
                .StartInfo.FileName = FileName
                .StartInfo.Arguments = Arguments
                .Start()
            End With
        End With
3
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 188
13.05.2019, 20:52  [ТС]
Всем спасибо!
0
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 188
18.05.2019, 17:32  [ТС]
RunningMan, тестировал скрипт - подкидывал ему несколько тысяч файлов и выявил проблему.
Он не закрывает вроде файлы эксель, по крайней мере сразу - они в процессах висят и скапливаются отжирая 100% оперативки.

Хотя пишет, что скрипт отработал.
На 1-2 файлах проблем нет...
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
18.05.2019, 20:37
Попробуйте так
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Imports EX = Microsoft.Office.Interop.Excel
Imports System.IO
'…
Private XL As EX.Application
Private WB As EX.Workbook
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    XL = New EX.Application
    XL.DisplayAlerts = False
    Dim fls() As String = Directory.GetFiles("C:\07\tst1905\", "*.xls") 'здесь д.б. ваш источник файлов
    Dim pt As String = Path.GetDirectoryName(fls(0)) & "\"
    For Each ff As String In fls
        WB = XL.Workbooks.Open(ff)
        WB.SaveAs(pt & Path.GetFileNameWithoutExtension(ff) & ".xlsx", 51) 'xlOpenXMLWorkbook
        WB.Close()
    Next
    XL.Quit()
    releaseObject(WB)
    releaseObject(XL)
End Sub
0
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
18.05.2019, 21:18
Цитата Сообщение от truelogin Посмотреть сообщение
Он не закрывает вроде файлы эксель, по крайней мере сразу - они в процессах висят и скапливаются отжирая 100% оперативки.
Можно ждать завершения каждого отдельного процесса. После завершения запускать следующий ( тут возьмём код Jungl и добавим .WaitForExit() ).

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 With New Excel.Application
 
            Dim FileName As String = .Path & "\excelcnv.exe"
 
          ' ArrayOfFiles - это файлы с разрешением .xls
            For Each Path In ArrayOfFiles
 
                Dim Arguments As String = "-oice """ & Path & """ """ & FileIO.FileSystem.GetFileInfo(Path).DirectoryName & "\" & IO.Path.GetFileNameWithoutExtension(Path) & ".xlsx""" & ""
                With New Process()
                    .StartInfo.FileName = FileName
                    .StartInfo.Arguments = Arguments
                    .Start()
                    .WaitForExit()
                End With
            Next
        End With
0
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 188
18.05.2019, 22:29  [ТС]
RunningMan, к сожалению не хотелось бы завязываться на "\excelcnv.exe"
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
19.05.2019, 02:47
Вынесети работу с Эксель (и его закрытие) в отдельную процедуру и вызовите эту процедуру из другого метода с последующим GC.Сollect...
У меня данный способ работает и закрывает Эксель сразу после отработки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.05.2019, 02:47
Помогаю со студенческими работами здесь

Конвертация текстового файла со ссылками в HTML-документ
Извините если повтор, но поиском я не нашел ничего подобного ни здесь, ни в гугле. Дано: файл вида <ссылка1> <описание из...

Конвертация из xls в xlsx при помощи скрипта
доброго дня. хочется помощи по поводу перевода vbs скрипта в скрипт для openoffice calc код ms office Set XL =...

Конвертация файла в массив аски символов, как сделать более читаемый код?
Задача следующая, есть обычный файл index.html каждый символ внутри него надо перегнать через аски преобразование и занести его в...

Ввод и вывод строки символов с заменой каждой цифры (N) на последовательность из N символов
Здравствуйте.Помогите написать программу ввода и вывода строки символов с заменой каждой цифры (N) на последовательность из N символов '#'...

Ввод значения из xlsx в ячейку html
Надо решить поставленную задачу. А непонятно многое, так как с php я вообще не сталкивался. А задача такова: На странице с товаром есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru