22 #include <string_view>
39 #include <editeng/editeng.hxx>
50 #include <osl/diagnose.h>
56 #include <document.hxx>
59 #include <stlpool.hxx>
77 #include <strings.hrc>
78 #include <globstr.hrc>
80 #include <com/sun/star/frame/XModel.hpp>
81 #include <com/sun/star/uno/Reference.h>
82 #include <com/sun/star/document/XDocumentProperties.hpp>
83 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
84 #include <rtl/strbuf.hxx>
85 #include <officecfg/Office/Common.hxx>
87 using ::editeng::SvxBorderLine;
106 "xx-small",
"x-small",
"small",
"medium",
"large",
"x-large",
"xx-large"
111 "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
115 #define TAG_ON( tag ) HTMLOutFuncs::Out_AsciiTag( rStrm, tag )
116 #define TAG_OFF( tag ) HTMLOutFuncs::Out_AsciiTag( rStrm, tag, false )
117 #define OUT_STR( str ) HTMLOutFuncs::Out_String( rStrm, str, &aNonConvertibleChars )
118 #define OUT_LF() rStrm.WriteCharPtr( SAL_NEWLINE_STRING ).WriteCharPtr( GetIndentStr() )
119 #define TAG_ON_LF( tag ) (TAG_ON( tag ).WriteCharPtr( SAL_NEWLINE_STRING ).WriteCharPtr( GetIndentStr() ))
120 #define TAG_OFF_LF( tag ) (TAG_OFF( tag ).WriteCharPtr( SAL_NEWLINE_STRING ).WriteCharPtr( GetIndentStr() ))
121 #define OUT_HR() TAG_ON_LF( OOO_STRING_SVTOOLS_HTML_horzrule )
122 #define OUT_COMMENT( comment ) (rStrm.WriteCharPtr( sMyBegComment ), OUT_STR( comment ) \
123 .WriteCharPtr( sMyEndComment ).WriteCharPtr( SAL_NEWLINE_STRING ) \
124 .WriteCharPtr( GetIndentStr() ))
126 #define OUT_SP_CSTR_ASS( s ) rStrm.WriteChar( ' ').WriteCharPtr( s ).WriteChar( '=' )
128 #define GLOBSTR(id) ScResId( id )
131 const ScRange& rRange,
const rtl_TextEncoding ,
bool bAll,
132 const OUString& rStreamPath, OUString& rNonConvertibleChars,
const OUString& rFilterOptions )
134 ScHTMLExport aEx( rStrm, rBaseURL, pDoc, rRange, bAll, rStreamPath, rFilterOptions );
142 aByteStr.append(
' ');
146 aByteStr.append(
"=\"");
147 aByteStr.append(nSpan);
148 aByteStr.append(
"\" ");
151 aByteStr.append(
"=\"");
152 aByteStr.append(nWidth);
153 aByteStr.append(
'"');
154 return aByteStr.makeStringAndClear();
158 const css::util::DateTime& rDateTime,
161 Date aD(rDateTime.Day, rDateTime.Month, rDateTime.Year);
162 tools::Time aT(rDateTime.Hours, rDateTime.Minutes, rDateTime.Seconds,
163 rDateTime.NanoSeconds);
166 OUString aStrDate = rLoc.
getDate( aDateTime );
167 OUString aStrTime = rLoc.
getTime( aDateTime );
169 rStr +=
GLOBSTR( STR_BY ) +
" ";
174 rStr +=
" " +
GLOBSTR( STR_ON ) +
" ";
175 if (!aStrDate.isEmpty())
180 if (!aStrTime.isEmpty())
197 const ScRange& rRangeP,
bool bAllP,
198 const OUString& rStreamPathP, std::u16string_view rFilterOptions ) :
200 aBaseURL( rBaseURL ),
201 aStreamPath( rStreamPathP ),
206 bTabHasGraphics(
false ),
207 bTabAlignedLeft(
false ),
208 bCalcAsShown( pDocP->GetDocOptions().IsCalcAsShown() ),
209 bTableDataHeight( true ),
210 mbSkipImages (
false ),
211 mbSkipHeaderFooter(
false )
219 if (rFilterOptions ==
u"SkipImages")
223 else if (rFilterOptions ==
u"SkipHeaderFooter")
239 for (
SCTAB nTab = 0; nTab < nCount; nTab++ )
253 sal_uInt16 nSize = 1;
276 Size( nVal, nVal ),
MapMode( MapUnit::MapTwip ) ).Width());
320 uno::Reference<document::XDocumentPropertiesSupplier> xDPS(
322 uno::Reference<document::XDocumentProperties> xDocProps
323 = xDPS->getDocumentProperties();
328 if (!xDocProps->getPrintedBy().isEmpty())
331 OUString aStrOut =
GLOBSTR( STR_DOC_PRINTED ) +
": ";
371 for(sal_Int32
nPos {0};;)
468 for (
SCTAB nTab = 0; nTab < nCount; nTab++ )
490 OSL_ENSURE( pStylePool,
"StylePool not found! :-(" );
495 pStyleSheet = pStylePool->
Find(
496 ScResId(STR_STYLENAME_STANDARD),
497 SfxStyleFamily::Para );
498 OSL_ENSURE( pStyleSheet,
"ParaStyle not found! :-(" );
500 pStyleSheet = pStylePool->
First(SfxStyleFamily::Para);
518 OSL_ENSURE( pStyleSheet,
"PageStyle not found! :-(" );
520 pStyleSheet = pStylePool->
First(SfxStyleFamily::Page);
532 const SvxBorderLine* pLine,
bool& bInsertSemicolon)
538 if ( bInsertSemicolon )
542 aOut.append(OString::Concat(
"border-") + pBorderName +
": ");
545 int nWidth = pLine->GetWidth();
546 int nPxWidth = (nWidth > 0) ?
548 aOut.append(OString::number(nPxWidth) +
"px ");
549 switch (pLine->GetBorderLineStyle())
551 case SvxBorderLineStyle::SOLID:
552 aOut.append(
"solid");
554 case SvxBorderLineStyle::DOTTED:
555 aOut.append(
"dotted");
557 case SvxBorderLineStyle::DASHED:
558 case SvxBorderLineStyle::DASH_DOT:
559 case SvxBorderLineStyle::DASH_DOT_DOT:
560 aOut.append(
"dashed");
562 case SvxBorderLineStyle::DOUBLE:
563 case SvxBorderLineStyle::DOUBLE_THIN:
564 case SvxBorderLineStyle::THINTHICK_SMALLGAP:
565 case SvxBorderLineStyle::THINTHICK_MEDIUMGAP:
566 case SvxBorderLineStyle::THINTHICK_LARGEGAP:
567 case SvxBorderLineStyle::THICKTHIN_SMALLGAP:
568 case SvxBorderLineStyle::THICKTHIN_MEDIUMGAP:
569 case SvxBorderLineStyle::THICKTHIN_LARGEGAP:
570 aOut.append(
"double");
572 case SvxBorderLineStyle::EMBOSSED:
573 aOut.append(
"ridge");
575 case SvxBorderLineStyle::ENGRAVED:
576 aOut.append(
"groove");
578 case SvxBorderLineStyle::OUTSET:
579 aOut.append(
"outset");
581 case SvxBorderLineStyle::INSET:
582 aOut.append(
"inset");
585 aOut.append(
"hidden");
591 snprintf( hex, 7,
"%06" SAL_PRIxUINT32, static_cast<sal_uInt32>( pLine->GetColor().GetRGBColor() ) );
596 bInsertSemicolon =
true;
599 return aOut.makeStringAndClear();
616 OUString aLink = pBrushItem->GetGraphicLink();
620 if( aLink.isEmpty() )
622 const Graphic* pGrf = pBrushItem->GetGraphic();
628 "JPG", XOutFlags::UseNativeIfPossible );
651 if( !aLink.isEmpty() )
656 aLink ) ).WriteChar(
'\"' );
684 const OUString aStrTable(
ScResId( SCSTR_TABLE ) );
693 SCCOL nStartColFix = 0;
694 SCROW nStartRowFix = 0;
695 SCCOL nEndColFix = 0;
696 SCROW nEndRowFix = 0;
701 nEndTab = nTabCount - 1;
712 SCTAB nTableStrNum = 1;
713 for (
SCTAB nTab=nStartTab; nTab<=nEndTab; nTab++ )
720 if ( !
GetDataArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow ) )
725 aStrOut = aStrTable +
" " + OUString::number( nTableStrNum++ ) +
": ";
747 nStartCol = nStartColFix;
748 nStartRow = nStartRowFix;
749 nEndCol = nEndColFix;
750 nEndRow = nEndRowFix;
751 if ( !
TrimDataArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow ) )
759 if (
bAll && pDrawLayer )
782 SCCOL nCol = nStartCol;
783 sal_Int32 nWidth = 0;
785 while( nCol <= nEndCol )
820 std::vector< sc::ColumnBlockPosition > blockPos( nEndCol - nStartCol + 1 );
821 for(
SCCOL i = nStartCol;
i <= nEndCol; ++
i )
823 for (
SCROW nRow=nStartRow; nRow<=nEndRow; nRow++ )
834 for (
SCCOL nCol2=nStartCol; nCol2<=nEndCol; nCol2++ )
839 if ( nCol2 == nEndCol )
841 WriteCell( blockPos[ nCol2 - nStartCol ], nCol2, nRow, nTab );
845 if ( nRow == nEndRow )
858 for (
size_t i = 0;
i < ListSize; ++
i )
869 aByteStrOut.append(
' ').
872 TAG_ON_LF( aByteStrOut.makeStringAndClear().getStr() );
877 OUT_COMMENT(
"**************************************************************************" );
896 for (
size_t i = 0;
i < ListSize; ++
i )
918 if ( nScriptType == SvtScriptType::NONE )
929 bool bInsertSemicolon =
false;
943 sal_uInt16 nHeightPixel;
946 if ( pGraphEntry || rMergeAttr.
IsMerged() )
959 append(
'=').append(static_cast<sal_Int32>(nC));
961 for ( jC=nCol, v=0; jC<nC; jC++ )
973 append(
'=').append(static_cast<sal_Int32>(nR));
976 nHeightPixel =
ToPixel( static_cast< sal_uInt16 >( v ) );
987 OString::number(nHeightPixel) +
"\"");
1036 sal_uInt16 nSetFontSizeNumber = 0;
1037 sal_uInt32 nFontHeight = rFontHeightItem.
GetHeight();
1042 nSetFontSizeNumber = 0;
1045 bool bSetFont = (bSetFontColor || bSetFontName || nSetFontSizeNumber);
1051 switch( rHorJustifyItem.GetValue() )
1053 case SvxCellHorJustify::Standard:
1059 case SvxCellHorJustify::Left:
1060 case SvxCellHorJustify::Repeat:
1065 OString::Concat(pChar) +
"\"");
1067 switch( rVerJustifyItem.GetValue() )
1072 case SvxCellVerJustify::Standard:
1073 default: pChar =
nullptr;
1078 append(
'=').append(pChar);
1102 OSL_FAIL(
"value data with unsupported cell type" );
1109 TAG_ON(aStrTD.makeStringAndClear().getStr());
1146 for (sal_Int32
nPos {0};;)
1149 rList.getToken( 0,
';',
nPos ),
1151 aStr.append(aTmpStr);
1160 if ( nSetFontSizeNumber )
1163 append(
'=').append(static_cast<sal_Int32>(nSetFontSizeNumber));
1165 if ( bSetFontColor )
1176 TAG_ON(aStr.makeStringAndClear().getStr());
1180 bool bWriteHyperLink(
false);
1188 bWriteHyperLink =
true;
1192 if (bWriteHyperLink)
1200 bool bFieldText =
false;
1202 const Color* pColor;
1216 if ( aStrOut.isEmpty() )
1222 sal_Int32
nPos = aStrOut.indexOf(
'\n' );
1229 sal_Int32 nStartPos = 0;
1232 OUString aSingleLine = aStrOut.copy( nStartPos, nPos - nStartPos );
1235 nStartPos = nPos + 1;
1237 while( ( nPos = aStrOut.indexOf(
'\n', nStartPos ) ) != -1 );
1238 OUString aSingleLine = aStrOut.copy( nStartPos );
1259 bool bFields =
false;
1269 if ( eFieldState == SfxItemState::DONTCARE || eFieldState == SfxItemState::SET )
1275 for ( sal_Int32 nPar=0; nPar < nParas; nPar++ )
1279 std::vector<sal_Int32> aPortions;
1281 sal_Int32 nStart = 0;
1282 for (
const sal_Int32 nEnd : aPortions )
1287 if ( nEnd == nStart+1 )
1293 if (
const SvxURLField* pURLField = dynamic_cast<const SvxURLField*>(pField))
1297 OUT_STR( pURLField->GetURL() );
1299 OUT_STR( pURLField->GetRepresentation() );
1315 std::u16string_view rTargetNm )
1320 if( !(INetProtocol::File == aFileUrl.
GetProtocol() &&
1321 ( INetProtocol::File != aTargetUrl.
GetProtocol() &&
1323 INetProtocol::Javascript >= aTargetUrl.
GetProtocol())) )
1329 std::map<OUString, OUString>::iterator it =
pFileNameMap->find( rFileNm );
1332 rFileNm = it->second;
1338 pFileNameMap.reset(
new std::map<OUString, OUString> );
1344 OUString aSrc = rFileNm;
1347 SfxMedium aMedium( aDest, StreamMode::WRITE | StreamMode::SHARE_DENYNONE );
static const char sIndentSource[]
static const sal_uInt16 nDefaultFontSize[SC_HTML_FONTSIZES]
SfxStyleSheetBase * First(SfxStyleFamily eFamily, SfxStyleSearchBits eMask=SfxStyleSearchBits::All)
SCCOL GetColMerge() const
OUString GetText(LineEnd eEnd=LINEEND_LF) const
#define OOO_STRING_SVTOOLS_HTML_O_clear
virtual ~ScHTMLExport() override
#define OOO_STRING_SVTOOLS_HTML_VA_bottom
sal_uInt8 GetAlpha() const
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
FileNameMapPtr pFileNameMap
sal_uInt16 nFontSizeNumber
OUString ScResId(TranslateId aId)
constexpr TypedWhichId< SvxBoxItem > ATTR_BORDER(150)
void setWidth(tools::Long nWidth)
#define OOO_STRING_SVTOOLS_HTML_O_rowspan
#define OOO_STRING_SVTOOLS_HTML_AL_center
bool IsTransparent() const
#define OUT_SP_CSTR_ASS(s)
void WriteGraphEntry(ScHTMLGraphEntry *)
const sal_uInt32 SC_HTML_FONTSIZES
bool SetSmartURL(std::u16string_view rTheAbsURIRef, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect)
#define OOO_STRING_SVTOOLS_HTML_O_bgcolor
#define OOO_STRING_SVTOOLS_HTML_tableheader
static void lcl_AddStamp(OUString &rStr, std::u16string_view rName, const css::util::DateTime &rDateTime, const LocaleDataWrapper &rLoc)
static OString lcl_getColGroupString(sal_Int32 nSpan, sal_Int32 nWidth)
constexpr TypedWhichId< SvxCrossedOutItem > ATTR_FONT_CROSSEDOUT(106)
bool IsOverlapped() const
#define OOO_STRING_SVTOOLS_HTML_tfoot
#define OOO_STRING_SVTOOLS_HTML_emphasis
constexpr::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
void IncIndent(short nVal)
#define OOO_STRING_SVTOOLS_HTML_tablerow
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
SC_DLLPUBLIC bool InitColumnBlockPosition(sc::ColumnBlockPosition &rBlockPos, SCTAB nTab, SCCOL nCol)
#define OUT_COMMENT(comment)
css::uno::Reference< css::frame::XModel3 > GetModel() const
#define OOO_STRING_SVTOOLS_HTML_head1
SvNumberFormatter * pFormatter
Store position data for column array storage.
bool IsClipOrUndo() const
#define OOO_STRING_SVTOOLS_HTML_body
sal_uInt16 ToPixel(sal_uInt16 nTwips)
SC_DLLPUBLIC SCROW FirstVisibleRow(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
OUString GetLastName(DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
constexpr TypedWhichId< SvxFontItem > ATTR_FONT(100)
virtual SfxItemSet & GetItemSet()
This is very similar to ScCellValue, except that it references the original value instead of copying ...
#define OOO_STRING_SVTOOLS_HTML_O_background
const editeng::SvxBorderLine * GetRight() const
#define OOO_STRING_SVTOOLS_HTML_italic
#define OOO_STRING_SVTOOLS_HTML_doctype5
SVL_DLLPUBLIC OUString simpleNormalizedMakeRelative(OUString const &baseUriReference, OUString const &uriReference)
#define OOO_STRING_SVTOOLS_HTML_thead
SvStream & WriteCharPtr(const char *pBuf)
SfxItemSet GetAttribs(sal_Int32 nPara, sal_Int32 nStart, sal_Int32 nEnd, GetAttribsFlags nFlags=GetAttribsFlags::ALL) const
static SVT_DLLPUBLIC SvStream & Out_Color(SvStream &, const Color &, bool bXHTML=false)
constexpr TypedWhichId< ScMergeAttr > ATTR_MERGE(144)
FontItalic GetPosture() const
SC_DLLPUBLIC sal_uInt16 GetRowHeight(SCROW nRow, SCTAB nTab, bool bHiddenAsZero=true) const
#define OOO_STRING_SVTOOLS_HTML_tbody
OUString PathToFileName() const
constexpr tools::Long Width() const
void Close(bool bInDestruction=false)
#define OOO_STRING_SVTOOLS_HTML_tabledata
static SC_DLLPUBLIC const LocaleDataWrapper & getLocaleData()
SC_DLLPUBLIC ScPostIt * GetNote(const ScAddress &rPos)
#define OOO_STRING_SVTOOLS_HTML_O_size
SvtScriptType nDefaultScriptType
#define OOO_STRING_SVTOOLS_HTML_O_height
constexpr TypedWhichId< SvxFieldItem > EE_FEATURE_FIELD(EE_FEATURE_NOTCONV+1)
const EditTextObject * mpEditText
void SetText(const OUString &rStr)
#define OOO_STRING_SVTOOLS_HTML_O_href
SC_DLLPUBLIC SCTAB GetTableCount() const
Additional class containing cell annotation data.
static const char * GetFontSizeCss(sal_uInt16 nHeight)
static SC_DLLPUBLIC sal_uInt16 GetScriptedWhichID(SvtScriptType nScriptType, sal_uInt16 nWhich)
Map ATTR_((CJK|CTL)_)?FONT_...
#define OOO_STRING_SVTOOLS_HTML_O_colspan
#define OOO_STRING_SVTOOLS_HTML_AL_justify
const char sMyEndComment[]
const OUString & GetPhysicalName() const
static ErrCode WriteGraphic(const Graphic &rGraphic, OUString &rFileName, const OUString &rFilterName, const XOutFlags nFlags, const Size *pMtfSize_100TH_MM=nullptr, const css::uno::Sequence< css::beans::PropertyValue > *pFilterData=nullptr)
ScFormulaCell * mpFormula
#define OOO_STRING_SVTOOLS_HTML_VA_top
static SVT_DLLPUBLIC OString CreateTableDataOptionsValNum(bool bValue, double fVal, sal_uInt32 nFormat, SvNumberFormatter &rFormatter, OUString *pNonConvertableChars=nullptr)
sal_uInt8 GetBlue() const
sal_Int32 GetTextLen() const
SC_DLLPUBLIC const ScPatternAttr * GetPattern(SCCOL nCol, SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC const SfxPoolItem * GetAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich) const
static SVT_DLLPUBLIC OString ConvertStringToHTML(const OUString &sSrc, OUString *pNonConvertableChars=nullptr)
#define OOO_STRING_SVTOOLS_HTML_bold
constexpr TypedWhichId< SvxUnderlineItem > ATTR_FONT_UNDERLINE(104)
const SfxPoolItem & GetItem(sal_uInt16 nWhichP) const
#define OOO_STRING_SVTOOLS_HTML_colgroup
const Color & GetColor() const
#define OOO_STRING_SVTOOLS_HTML_O_class
#define OOO_STRING_SVTOOLS_HTML_font
GraphEntryList aGraphList
bool mbSkipHeaderFooter
If HTML header and footer should be written as well, or just the content itself.
#define OOO_STRING_SVTOOLS_HTML_doctype
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
const editeng::SvxBorderLine * GetTop() const
constexpr TypedWhichId< SvxPostureItem > ATTR_FONT_POSTURE(103)
#define OOO_STRING_SVTOOLS_HTML_html
SC_DLLPUBLIC bool ColHidden(SCCOL nCol, SCTAB nTab, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
Size MMToPixel(const Size &r100thMMSize)
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const editeng::SvxBorderLine * GetLeft() const
#define OOO_STRING_SVTOOLS_HTML_O_border
FontWeight GetWeight() const
SVL_DLLPUBLIC Link< OUString *, bool > const & GetMaybeFileHdl()
#define OOO_STRING_SVTOOLS_HTML_table
constexpr TypedWhichId< SvxVerJustifyItem > ATTR_VER_JUSTIFY(132)
#define OOO_STRING_SVTOOLS_HTML_comment2
bool IsEmptyTable(SCTAB nTab) const
#define OOO_STRING_SVTOOLS_HTML_AL_left
bool WriteFieldText(const EditTextObject *pData)
SC_DLLPUBLIC OUString GetPageStyle(SCTAB nTab) const
#define OOO_STRING_SVTOOLS_HTML_style
sal_uInt32 GetNumberFormat(SvNumberFormatter *) const
sal_uInt16 GetFontSize(sal_uInt16 nPos)
static void Out_DocInfo(SvStream &rStrm, const OUString &rBaseURL, const css::uno::Reference< css::document::XDocumentProperties > &, const char *pIndent, OUString *pNonConvertableChars=nullptr)
#define OOO_STRING_SVTOOLS_HTML_VA_middle
OUString aNonConvertibleChars
SC_DLLPUBLIC const SfxItemSet * GetCondResult(SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue *pCell=nullptr) const
SvStream & WriteStream(SvStream &rStream)
SC_DLLPUBLIC bool HasNote(const ScAddress &rPos) const
#define OOO_STRING_SVTOOLS_HTML_underline
sal_Int32 GetParagraphCount() const
bool SetUpdateLayout(bool bUpdate, bool bRestoring=false)
SAL_WARN_UNUSED_RESULT Point LogicToPixel(const Point &rLogicPt) const
constexpr TypedWhichId< SvxBrushItem > ATTR_BACKGROUND(148)
SC_DLLPUBLIC double RoundValueAsShown(double fVal, sal_uInt32 nFormat, const ScInterpreterContext *pContext=nullptr) const
bool GetDataArea(SCTAB nTab, SCCOL &nStartCol, SCROW &nStartRow, SCCOL &nEndCol, SCROW &nEndRow) const
FontLineStyle GetLineStyle() const
sal_uInt8 GetGreen() const
#define OOO_STRING_SVTOOLS_HTML_O_align
OUString getDate(const Date &rDate) const
#define OOO_STRING_SVTOOLS_HTML_division
const OUString & GetFamilyName() const
constexpr TypedWhichId< ScMergeFlagAttr > ATTR_MERGE_FLAG(145)
#define OOO_STRING_SVTOOLS_HTML_linebreak
void CopyLocalFileToINet(OUString &rFileNm, std::u16string_view rTargetNm)
static SC_DLLPUBLIC SvtScriptType GetDefaultScriptType()
#define OOO_STRING_SVTOOLS_HTML_strikethrough
sal_uInt32 GetHeight() const
#define OOO_STRING_SVTOOLS_HTML_AL_right
static const char * pFontSizeCss[SC_HTML_FONTSIZES]
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
SvStream & WriteOString(std::string_view rStr)
constexpr tools::Long Height() const
OUString GetPartBeforeLastName() const
static sal_uInt16 GetFontSizeNumber(sal_uInt16 nHeight)
bool bCopyLocalFileToINet
#define OOO_STRING_SVTOOLS_HTML_center
INetProtocol GetProtocol() const
void GetPortions(sal_Int32 nPara, std::vector< sal_Int32 > &rList)
SC_DLLPUBLIC SvtScriptType GetScriptType(SCCOL nCol, SCROW nRow, SCTAB nTab, const ScRefCellValue *pCell=nullptr)
constexpr TypedWhichId< SvxWeightItem > ATTR_FONT_WEIGHT(102)
constexpr TypedWhichId< SvxHorJustifyItem > ATTR_HOR_JUSTIFY(129)
void WriteCell(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol, SCROW nRow, SCTAB nTab)
#define OOO_STRING_SVTOOLS_HTML_parabreak
bool Contains(const ScAddress &) const
is Address& fully in Range?
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_BLACK
static const sal_uInt16 nCellSpacing
const OUString & GetNonConvertibleChars() const
const char sMyBegComment[]
SvStream & WriteChar(char nChar)
SC_DLLPUBLIC ScStyleSheetPool * GetStyleSheetPool() const
FontStrikeout GetStrikeout() const
SC_DLLPUBLIC bool HasHiddenRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
static OString lcl_makeHTMLColorTriplet(const Color &rColor)
VclPtr< OutputDevice > pAppWin
SC_DLLPUBLIC bool RowHidden(SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
#define OOO_STRING_SVTOOLS_HTML_O_face
void setHeight(tools::Long nHeight)
ScHTMLExport(SvStream &, const OUString &, ScDocument *, const ScRange &, bool bAll, const OUString &aStreamPath, std::u16string_view rFilterOptions)
#define OOO_STRING_SVTOOLS_HTML_O_type
bool TrimDataArea(SCTAB nTab, SCCOL &nStartCol, SCROW &nStartRow, SCCOL &nEndCol, SCROW &nEndRow) const
#define OOO_STRING_SVTOOLS_HTML_O_color
SC_DLLPUBLIC bool IsVisible(SCTAB nTab) const
SfxObjectShell * GetDocumentShell() const
SCROW GetRowMerge() const
void PrepareGraphics(ScDrawLayer *, SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
#define OOO_STRING_SVTOOLS_HTML_head
static OString BorderToStyle(const char *pBorderName, const editeng::SvxBorderLine *pLine, bool &bInsertSemicolon)
char sIndent[nIndentMax+1]
OUString getTime(const tools::Time &rTime, bool bSec=true, bool b100Sec=false) const
SC_DLLPUBLIC sal_uInt16 GetColWidth(SCCOL nCol, SCTAB nTab, bool bHiddenAsZero=true) const
const SfxItemSet & PageDefaults(SCTAB nTab)
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
constexpr TypedWhichId< SvxColorItem > ATTR_FONT_COLOR(109)
constexpr TypedWhichId< SvxFontHeightItem > ATTR_FONT_HEIGHT(101)
const editeng::SvxBorderLine * GetBottom() const
SC_DLLPUBLIC bool GetName(SCTAB nTab, OUString &rName) const
#define OOO_STRING_SVTOOLS_HTML_anchor
#define OOO_STRING_SVTOOLS_HTML_O_valign
#define OOO_STRING_SVTOOLS_HTML_O_width
SC_DLLPUBLIC ScFieldEditEngine & GetEditEngine()
#define SAL_NEWLINE_STRING
static sal_uInt16 nFontSize[SC_HTML_FONTSIZES]
const Color & GetValue() const
#define OOO_STRING_SVTOOLS_HTML_O_span
bool m_bDetectedRangeSegmentation false
SVL_DLLPUBLIC OUString SmartRel2Abs(INetURLObject const &rTheBaseURIRef, OUString const &rTheRelURIRef, Link< OUString *, bool > const &rMaybeFileHdl=Link< OUString *, bool >(), bool bCheckFileExists=true, bool bIgnoreFragment=false, INetURLObject::EncodeMechanism eEncodeMechanism=INetURLObject::EncodeMechanism::WasEncoded, INetURLObject::DecodeMechanism eDecodeMechanism=INetURLObject::DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect)
#define OOO_STRING_SVTOOLS_HTML_O_cellspacing