<?xml version="1.0" encoding="UTF-8"?>



<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->




		<helpdocument version="1.0">
<meta>
<topic id="textsharedguidedata_dbase2officexml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">Importing and Exporting Data in Text Format</title>
<filename>/text/shared/guide/data_dbase2office.xhp</filename>
</topic>
</meta>
<body>
<bookmark xml-lang="en-US" branch="index" id="bm_id3157896"><bookmark_value>databases; text formats</bookmark_value>
<bookmark_value>text formats; databases</bookmark_value>
<bookmark_value>importing; tables in text format</bookmark_value>
<bookmark_value>exporting; spreadsheets to text format</bookmark_value>
</bookmark>
<paragraph role="heading" id="hd_id3154824" xml-lang="en-US" level="1" l10n="U" oldref="55"><variable id="data_dbase2office"><link href="text/shared/guide/data_dbase2office.xhp" name="Importing and Exporting Data in Text Format">Importing and Exporting Data in Text Format</link>
</variable></paragraph>
<paragraph role="paragraph" id="par_id3147088" xml-lang="en-US" l10n="U" oldref="54">If you want to exchange data with a database that does not have an ODBC link and does not allow dBASE import and export, you can use a common text format.</paragraph>
<paragraph role="heading" id="hd_id3145313" xml-lang="en-US" level="2" l10n="U" oldref="41">Importing Data into $[officename]</paragraph>
<paragraph role="paragraph" id="par_id3147275" xml-lang="en-US" l10n="U" oldref="40">To exchange data in a text format use the $[officename] Calc import/export filter.</paragraph>
<list type="ordered">
<listitem>
<paragraph role="listitem" id="par_id3145382" xml-lang="en-US" l10n="U" oldref="42">Export the desired data from the source database in a text format. The CSV text format is recommended. This format separates data fields by using delimiters such as commas or semi-colons, and separates records by inserting line breaks.</paragraph>
</listitem>
<listitem>
<paragraph role="listitem" id="par_id3153821" xml-lang="en-US" l10n="CHG" oldref="43">Choose <emph>File - </emph><link href="text/shared/01/01020000.xhp" name="Open"><emph>Open</emph></link> and click the file to import.</paragraph>
</listitem>
<listitem>
<paragraph role="listitem" id="par_id1977904" xml-lang="en-US" l10n="NEW">Select "Text CSV" from the <emph>File type</emph> combo box. Click <emph>Open</emph>.</paragraph>
</listitem>
<listitem>
<paragraph role="listitem" id="par_id3150771" xml-lang="en-US" l10n="U" oldref="44">The <link href="text/shared/00/00000208.xhp" name="Text Import"><emph>Text Import</emph></link> dialog appears. Decide which data to include from the text document.</paragraph>
</listitem>
</list>
<paragraph role="paragraph" id="par_id3150986" xml-lang="en-US" l10n="U" oldref="45">Once the data is in a $[officename] Calc spreadsheet, you can edit it as needed. Save the data as a $[officename] data source:</paragraph>
<list type="unordered">
<listitem>
<paragraph role="listitem" id="par_id3149762" xml-lang="en-US" l10n="U" oldref="56">Save the current $[officename] Calc spreadsheet in dBASE format in the folder of a dBASE database. To do this, choose <emph>File - Save As</emph>, then select the <emph>File type</emph> "dBASE" and the folder of the dBASE database.</paragraph>
</listitem>
</list>
<paragraph role="heading" id="hd_id3150400" xml-lang="en-US" level="2" l10n="U" oldref="58">Exporting in CSV Text Format</paragraph>
<paragraph role="paragraph" id="par_id3154140" xml-lang="en-US" l10n="U" oldref="59">You can export the current $[officename] spreadsheet in a text format which can be read by many other applications.</paragraph>
<list type="ordered">
<listitem>
<paragraph role="listitem" id="par_id3152933" xml-lang="en-US" l10n="U" oldref="60">Choose <emph>File - Save as</emph>.</paragraph>
</listitem>
<listitem>
<paragraph role="listitem" id="par_id3154216" xml-lang="en-US" l10n="U" oldref="61">In <emph>File type</emph> select the filter "Text CSV". Enter a file name and click <emph>Save</emph>.</paragraph>
</listitem>
<listitem>
<paragraph role="listitem" id="par_id3154908" xml-lang="en-US" l10n="CHG" oldref="62">This opens the <link href="text/shared/00/00000207.xhp" name="dBase Export"><emph>Export of text files</emph></link> dialog, in which you can select the character set, field delimiter and text delimiter. Click <emph>OK</emph>. A warning informs you that only the active sheet was saved.</paragraph>
</listitem>
</list>
<embed href="text/shared/00/00000004.xhp#related"/>
<embed href="text/shared/guide/data_im_export.xhp#data_im_export"/>
<switch select="appl">
<case select="CALC"><embed href="text/scalc/guide/dbase_files.xhp#dbase_files"/>
</case>
</switch></body>
</helpdocument>
