powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Open xml вертикальное направление
14 сообщений из 14, страница 1 из 1
Open xml вертикальное направление
    #39805849
vopros_2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается вертикальное направление текста в ячейке таблицы в ворде.
Выровнять по центру -это вот так :
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
   Dim row As TableRow = table.Elements(Of TableRow)().ElementAt(i)
                Dim cell As TableCell = row.Elements(Of TableCell)().ElementAt(0)
                Dim p As Paragraph = cell.Elements(Of Paragraph)().First()
                If p.Elements(Of ParagraphProperties)().Count() = 0 Then                      p.PrependChild(Of ParagraphProperties)(New ParagraphProperties)
                End If
                Dim pPr As ParagraphProperties = p.Elements(Of ParagraphProperties)().First()
                Dim justification1 As Justification = New Justification() With {.Val = JustificationValues.Center}  
                pPr.Append(justification1)



А как сделать в этой ячейке вертикальный текст?
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39805875
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vopros_2009,

запишите макрос и посмотрите, это же так просто

Selection.Orientation = wdTextOrientationUpward
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39805985
vopros_2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Это XML, а не INTEROP, в интеропе действительно все просто.
Но в XML выгрузка в ворд занимает минуту, а в интеропе 2 часа.
Вот я сейчас с интеропа и переписываю.
У меня возник вопрос о вертикальном тексте при динамическом формировании шапки таблицы.
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39805996
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тут, по идее, похожий подход.
Создаешь в ворде файл с нужным форматированием, распаковываешь и смотришь, как там это прописалось в xml-ке
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39805999
vopros_2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Нетрудно показать?
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39806003
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что именно показать? Как распаковать open-xml документ?
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39806004
vopros_2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
что и этого в прогу применить?
Код: xml
1.
2.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/><Override PartName="/word/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/><Override PartName="/word/settings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/><Override PartName="/word/webSettings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"/><Override PartName="/word/fontTable.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"/><Override PartName="/word/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39806006
vopros_2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Вот по идее мне это надо в проге прописать:
<w:textDirection w:val="btLr"/>
но как?
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39806007
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OpenXML - это просто типизированная оболочка над xml-файлами документа. Так что смотри иерархию - кому принадлежит этот тэг и делай по аналогии. Я сам работал с ним методом тыка - просто показываю тебе, куда тыкать.
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39806197
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я надеюсь вы используйте sax
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39806200
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не правильно понял вопрос, сори, думал речь про интеропы, бейсик видимо напутал :D
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39806641
vopros_2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По идее должно быть нечто вроде так :

Код: xml
1.
2.
3.
4.
5.
  Dim textDirectionHeader = New TextDirection()
                    If textDirectionHeadings = "BTLR" Then
                        textDirectionHeader.Val = TextDirectionValues.BottomToTopLeftToRight
                    End If
         tableCellPropertiesHeader.Append(textDirectionHeader)



но не работает.
Что-то не так и не туда.
Неужели никто не использует Open XML ?
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39806647
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробовали конечно и работали :) но конкретной такой задачи я не делал.
там и багов хватает
...
Рейтинг: 0 / 0
Open xml вертикальное направление
    #39806894
vopros_2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кому интересно пишу решение проблемы
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 Using document = WordprocessingDocument.Open(fileName, True)
            Dim doc = document.MainDocumentPart.Document
            Dim table As New Table()
            Dim props As TableProperties = _
                New TableProperties(New TableBorders( _
                New TopBorder With {.Val = New EnumValue(Of BorderValues)(BorderValues.Single), .Size = 12}, New BottomBorder With {.Val = New EnumValue(Of BorderValues)(BorderValues.Single), .Size = 12}, New LeftBorder With {.Val = New EnumValue(Of BorderValues)(BorderValues.Single), .Size = 12}, New RightBorder With {.Val = New EnumValue(Of BorderValues)(BorderValues.Single), .Size = 12}, New InsideHorizontalBorder With {.Val = New EnumValue(Of BorderValues)(BorderValues.Single), .Size = 12}, New InsideVerticalBorder With {.Val = New EnumValue(Of BorderValues)(BorderValues.Single), .Size = 12}))
            table.AppendChild(Of TableProperties)(props)
            For i = 0 To UBound(data, 1)
                Dim tr As New TableRow
                For j = 0 To UBound(data, 2)
                    Dim tc As New TableCell
                    tc.Append(New Paragraph(New Run(New Text(data(i, j)))))
                    tc.Append(New TableCellProperties(New TableCellProperties(New TextDirection() With {.Val = TextDirectionValues.BottomToTopLeftToRight}), New TableCellWidth With {.Type = TableWidthUnitValues.Dxa, .Width = "2682"}))
                    tr.Append(tc)
                    Next
                table.Append(tr)
            Next
            doc.Body.Append(table)
            doc.Save()
        End Using



так вот за вертикальное направление отвечает
Код: vbnet
1.
 tc.Append(New TableCellProperties(New TableCellProperties(New TextDirection() With {.Val = TextDirectionValues.BottomToTopLeftToRight}))) 
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Open xml вертикальное направление
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]