def create_from_format_name(cls, format_name):
        """
        Create a table writer class instance from a format name.
        Supported file format names are as follows:

            =============================================  ===================================
            Format name                                    Writer Class
            =============================================  ===================================
            ``"csv"``                                      :py:class:`~.CsvTableWriter`
            ``"elasticsearch"``                            :py:class:`~.ElasticsearchWriter`
            ``"excel"``                                    :py:class:`~.ExcelXlsxTableWriter`
            ``"html"``/``"htm"``                           :py:class:`~.HtmlTableWriter`
            ``"javascript"``/``"js"``                      :py:class:`~.JavaScriptTableWriter`
            ``"json"``                                     :py:class:`~.JsonTableWriter`
            ``"json_lines"``                               :py:class:`~.JsonLinesTableWriter`
            ``"latex_matrix"``                             :py:class:`~.LatexMatrixWriter`
            ``"latex_table"``                              :py:class:`~.LatexTableWriter`
            ``"ldjson"``                                   :py:class:`~.JsonLinesTableWriter`
            ``"ltsv"``                                     :py:class:`~.LtsvTableWriter`
            ``"markdown"``/``"md"``                        :py:class:`~.MarkdownTableWriter`
            ``"mediawiki"``                                :py:class:`~.MediaWikiTableWriter`
            ``"null"``                                     :py:class:`~.NullTableWriter`
            ``"pandas"``                                   :py:class:`~.PandasDataFrameWriter`
            ``"py"``/``"python"``                          :py:class:`~.PythonCodeTableWriter`
            ``"rst"``/``"rst_grid"``/``"rst_grid_table"``  :py:class:`~.RstGridTableWriter`
            ``"rst_simple"``/``"rst_simple_table"``        :py:class:`~.RstSimpleTableWriter`
            ``"rst_csv"``/``"rst_csv_table"``              :py:class:`~.RstCsvTableWriter`
            ``"sqlite"``                                   :py:class:`~.SqliteTableWriter`
            ``"tsv"``                                      :py:class:`~.TsvTableWriter`
            ``"toml"``                                     :py:class:`~.TomlTableWriter`
            ``"unicode"``                                  :py:class:`~.UnicodeTableWriter`
            =============================================  ===================================

        :param str format_name: Format name string (case insensitive).
        :return: Writer instance that coincides with the ``format_name``:
        :rtype:
            :py:class:`~pytablewriter.writer._table_writer.TableWriterInterface`
        :raises pytablewriter.WriterNotFoundError:
            |WriterNotFoundError_desc| for the format.
        """

        format_name = format_name.lower()

        for table_format in TableFormat:
            if format_name in table_format.names and not (
                table_format.format_attribute & FormatAttr.SECONDARY_NAME
            ):
                return table_format.writer_class()

        raise WriterNotFoundError(
            "\n".join(
                [
                    "{} (unknown format name).".format(format_name),
                    "acceptable format names are: {}.".format(", ".join(cls.get_format_names())),
                ]
            )
        )
Create a table writer class instance from a format name.
        Supported file format names are as follows:

            =============================================  ===================================
            Format name                                    Writer Class
            =============================================  ===================================
            ``"csv"``                                      :py:class:`~.CsvTableWriter`
            ``"elasticsearch"``                            :py:class:`~.ElasticsearchWriter`
            ``"excel"``                                    :py:class:`~.ExcelXlsxTableWriter`
            ``"html"``/``"htm"``                           :py:class:`~.HtmlTableWriter`
            ``"javascript"``/``"js"``                      :py:class:`~.JavaScriptTableWriter`
            ``"json"``                                     :py:class:`~.JsonTableWriter`
            ``"json_lines"``                               :py:class:`~.JsonLinesTableWriter`
            ``"latex_matrix"``                             :py:class:`~.LatexMatrixWriter`
            ``"latex_table"``                              :py:class:`~.LatexTableWriter`
            ``"ldjson"``                                   :py:class:`~.JsonLinesTableWriter`
            ``"ltsv"``                                     :py:class:`~.LtsvTableWriter`
            ``"markdown"``/``"md"``                        :py:class:`~.MarkdownTableWriter`
            ``"mediawiki"``                                :py:class:`~.MediaWikiTableWriter`
            ``"null"``                                     :py:class:`~.NullTableWriter`
            ``"pandas"``                                   :py:class:`~.PandasDataFrameWriter`
            ``"py"``/``"python"``                          :py:class:`~.PythonCodeTableWriter`
            ``"rst"``/``"rst_grid"``/``"rst_grid_table"``  :py:class:`~.RstGridTableWriter`
            ``"rst_simple"``/``"rst_simple_table"``        :py:class:`~.RstSimpleTableWriter`
            ``"rst_csv"``/``"rst_csv_table"``              :py:class:`~.RstCsvTableWriter`
            ``"sqlite"``                                   :py:class:`~.SqliteTableWriter`
            ``"tsv"``                                      :py:class:`~.TsvTableWriter`
            ``"toml"``                                     :py:class:`~.TomlTableWriter`
            ``"unicode"``                                  :py:class:`~.UnicodeTableWriter`
            =============================================  ===================================

        :param str format_name: Format name string (case insensitive).
        :return: Writer instance that coincides with the ``format_name``:
        :rtype:
            :py:class:`~pytablewriter.writer._table_writer.TableWriterInterface`
        :raises pytablewriter.WriterNotFoundError:
            |WriterNotFoundError_desc| for the format.