{"id":55,"date":"2025-10-22T17:34:39","date_gmt":"2025-10-22T15:34:39","guid":{"rendered":"https:\/\/www.silverice.it\/IpercubeTechWP1\/?page_id=55"},"modified":"2025-10-26T09:24:28","modified_gmt":"2025-10-26T08:24:28","slug":"converttabbedstring2htmltable","status":"publish","type":"page","link":"https:\/\/www.silverice.it\/IpercubeTechWP1\/ipercube-utilities\/string-functions\/converttabbedstring2htmltable\/","title":{"rendered":"HTML Rendering &#8211; Convert Tabbed String to Html Table"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Converts a tab-delimited string into an HTML table.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This function parses the tabbed string into rows and columns and generates HTML markup accordingly. If <em>firstRowIsHeader<\/em> is set to True, the first row is wrapped in <em>&lt;thead&gt;<\/em> and <em>&lt;th&gt;<\/em> tags.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:75%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column page-snippet is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Geist-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-Geist-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">VB<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>      Public Function ConvertTabbedString2HtmlTable(TabbedString As String, \n                               Optional ByVal firstRowIsHeader As Boolean = True) As String\n\n        Dim arRecords As String() = TabbedString.Split(New String() {vbCrLf}, StringSplitOptions.RemoveEmptyEntries)\n        Dim szToReturn As String = String.Empty\n\n        Try\n            For Each szRecord In arRecords\n\n                Dim arFields As String() = szRecord.Split(vbTab)\n\n                If firstRowIsHeader Then\n                    szToReturn += \"&lt;thead>&lt;tr>\" + vbCrLf\n                    For Each szField In arFields\n                        szToReturn += \"&lt;th>\" + szField + \"&lt;\/th>\"\n                    Next\n                    szToReturn += \"&lt;\/tr>&lt;\/thead>\" + vbCrLf\n                    firstRowIsHeader = False\n                Else\n                    szToReturn += \"&lt;tr>\"\n                    For Each szField In arFields\n                        szToReturn += \"&lt;td>\" + szField + \"&lt;\/td>\"\n                    Next\n                    szToReturn += \"&lt;\/tr>\" + vbCrLf\n                End If\n\n            Next\n\n        Catch ex As Exception\n        End Try\n\n        szToReturn = \"&lt;table>\" + vbCrLf + szToReturn + \"&lt;\/table>\"\n        Return szToReturn\n    End Function\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">      <\/span><span style=\"color: #569CD6\">Public Function <\/span><span style=\"color: #DCDCAA\">ConvertTabbedString2HtmlTable<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">TabbedString<\/span><span style=\"color: #D4D4D4\"> As <\/span><span style=\"color: #4EC9B0\">String<\/span><span style=\"color: #D4D4D4\">, <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                               Optional ByVal firstRowIsHeader As <\/span><span style=\"color: #4EC9B0\">Boolean<\/span><span style=\"color: #D4D4D4\"> =<\/span><span style=\"color: #569CD6\"> True<\/span><span style=\"color: #D4D4D4\">) As <\/span><span style=\"color: #4EC9B0\">String<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> arRecords <\/span><span style=\"color: #D4D4D4\">As <\/span><span style=\"color: #4EC9B0\">String<\/span><span style=\"color: #D4D4D4\">() = TabbedString.<\/span><span style=\"color: #DCDCAA\">Split<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">New <\/span><span style=\"color: #DCDCAA\">String<\/span><span style=\"color: #D4D4D4\">() {<\/span><span style=\"color: #4EC9B0\">vbCrLf<\/span><span style=\"color: #D4D4D4\">}, StringSplitOptions.<\/span><span style=\"color: #9CDCFE\">RemoveEmptyEntries<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> szToReturn <\/span><span style=\"color: #D4D4D4\">As <\/span><span style=\"color: #4EC9B0\">String<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #DCDCAA\">String<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #569CD6\">Empty<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        Try<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #C586C0\">For<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Each<\/span><span style=\"color: #D4D4D4\"> szRecord In arRecords<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #569CD6\">Dim<\/span><span style=\"color: #9CDCFE\"> arFields <\/span><span style=\"color: #D4D4D4\">As <\/span><span style=\"color: #4EC9B0\">String<\/span><span style=\"color: #D4D4D4\">() = szRecord.<\/span><span style=\"color: #DCDCAA\">Split<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #4EC9B0\">vbTab<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #C586C0\">If<\/span><span style=\"color: #D4D4D4\"> firstRowIsHeader <\/span><span style=\"color: #C586C0\">Then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #9CDCFE\">szToReturn<\/span><span style=\"color: #D4D4D4\"> += <\/span><span style=\"color: #CE9178\">&quot;&lt;thead&gt;&lt;tr&gt;&quot;<\/span><span style=\"color: #D4D4D4\"> +<\/span><span style=\"color: #9CDCFE\"> vbCrLf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #C586C0\">For<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Each<\/span><span style=\"color: #D4D4D4\"> szField In arFields<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                        <\/span><span style=\"color: #9CDCFE\">szToReturn<\/span><span style=\"color: #D4D4D4\"> += <\/span><span style=\"color: #CE9178\">&quot;&lt;th&gt;&quot;<\/span><span style=\"color: #D4D4D4\"> +<\/span><span style=\"color: #9CDCFE\"> szField<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #CE9178\">&quot;&lt;\/th&gt;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #C586C0\">Next<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #9CDCFE\">szToReturn<\/span><span style=\"color: #D4D4D4\"> += <\/span><span style=\"color: #CE9178\">&quot;&lt;\/tr&gt;&lt;\/thead&gt;&quot;<\/span><span style=\"color: #D4D4D4\"> +<\/span><span style=\"color: #9CDCFE\"> vbCrLf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #9CDCFE\">firstRowIsHeader<\/span><span style=\"color: #D4D4D4\"> =<\/span><span style=\"color: #569CD6\"> False<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #C586C0\">Else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #9CDCFE\">szToReturn<\/span><span style=\"color: #D4D4D4\"> += <\/span><span style=\"color: #CE9178\">&quot;&lt;tr&gt;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #C586C0\">For<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #C586C0\">Each<\/span><span style=\"color: #D4D4D4\"> szField In arFields<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                        <\/span><span style=\"color: #9CDCFE\">szToReturn<\/span><span style=\"color: #D4D4D4\"> += <\/span><span style=\"color: #CE9178\">&quot;&lt;td&gt;&quot;<\/span><span style=\"color: #D4D4D4\"> +<\/span><span style=\"color: #9CDCFE\"> szField<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #CE9178\">&quot;&lt;\/td&gt;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #C586C0\">Next<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                    <\/span><span style=\"color: #9CDCFE\">szToReturn<\/span><span style=\"color: #D4D4D4\"> += <\/span><span style=\"color: #CE9178\">&quot;&lt;\/tr&gt;&quot;<\/span><span style=\"color: #D4D4D4\"> +<\/span><span style=\"color: #9CDCFE\"> vbCrLf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #C586C0\">End If<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #C586C0\">Next<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        Catch ex As <\/span><span style=\"color: #4EC9B0\">Exception<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #DCDCAA\">End<\/span><span style=\"color: #D4D4D4\"> Try<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">szToReturn<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #CE9178\">&quot;&lt;table&gt;&quot;<\/span><span style=\"color: #D4D4D4\"> +<\/span><span style=\"color: #9CDCFE\"> vbCrLf<\/span><span style=\"color: #D4D4D4\"> +<\/span><span style=\"color: #9CDCFE\"> szToReturn<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #CE9178\">&quot;&lt;\/table&gt;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #C586C0\">Return<\/span><span style=\"color: #D4D4D4\"> szToReturn<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #569CD6\">End Function<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Converts a tab-delimited string into an HTML table. This function parses the tabbed string into rows and columns and generates HTML markup accordingly. If firstRowIsHeader is set to True, the first row is wrapped in &lt;thead&gt; and &lt;th&gt; tags.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":167,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-55","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages\/55","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/comments?post=55"}],"version-history":[{"count":21,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages\/55\/revisions"}],"predecessor-version":[{"id":510,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages\/55\/revisions\/510"}],"up":[{"embeddable":true,"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/pages\/167"}],"wp:attachment":[{"href":"https:\/\/www.silverice.it\/IpercubeTechWP1\/wp-json\/wp\/v2\/media?parent=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}