第一步:打开Excel,建立一张表。第一行(主键)一定要设置为_ID, 后面会解释。
第四步:点开sqlite Expert数据库管理工具。点击file→New DataBase 新建一个Demo_db的数据库。
第五步:右击刚刚建好的库,然后点击→import text file 导入建好的表。是不是很简单的。
点击Design→Indexs。将_ID,设置为主键。然后然后点击ok, 然后再点击apply。
第六步:我们从上图中的file: F:\Dmeo\Demo_DB,(导入时我们的CVS格式表在哪里,数据库文件,就在哪里)找到它。
但是没有格式(有时会遇见,但有时不会遇见),一般来说,数据库都是.db格式。我们给它加上后缀名.db。(注意:必须点开文件夹选项,然后设置显示后缀名才行),然后复制到项目中的assets中去。
复制到assets中去。
第七步:将该数据中Demo_DB中Demo表中的数据复制到模拟器中去(此处我不知道怎么描述)。代码如下。。
因为我们这里用的是适配器是SimpleCursorAdapter,返回的数据中必须包含字段:_ID且必须为关键字(_ID是主键)。如果返回的Cursor数据中没有包含_ID, 字段,将无法绑定成功。
MainActivity.java 代码
package com.example.direct_use;
import java.io.file;
import java.io.fileOutputStream;
import java.io.inputStream;
import androID.app.Activity;
import androID.database.Cursor;
import androID.database.sqlite.sqliteDatabase;
import androID.os.Bundle;
import androID.support.v4.Widget.SimpleCursorAdapter;
import androID.util.Log;
import androID.Widget.CursorAdapter;
import androID.Widget.listadapter;
import androID.Widget.ListVIEw;
import androID.Widget.TextVIEw;
public class MainActivity extends Activity
{
String DB_name = "Demo_DB.db";
ListVIEw List;
sqliteDatabase db;
@OverrIDe
protected voID onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentVIEw(R.layout.activity_main);
Log.v("breakthrough","加载界面完成");
//将数据库进行复制。。
file fileDir = getfilesDir();
Log.v("breakthrough","fileDir成功");
file file = new file(fileDir,DB_name);
Log.v("breakthrough","file创建成功");
if(file.exists())
{
Log.v("breakthrough","界面已存在了file文件,为上次运行的时候的造成的");
return;
}
inputStream in = null;
fileOutputStream out = null;
Log.v("breakthrough","输入输出流构建完成");
try
{
in = this.getAssets().open(DB_name);
Log.v("breakthrough","打开了getAssets中的haha.db");
out = new fileOutputStream(file);
Log.v("breakthrough","初始化输出流成功");
byte[] buffer = new byte[1024];
int length = -1;
while( (length = in.read(buffer)) != -1 )
{
out.write(buffer,length);
Log.v("breakthrough","输入流输入了多少次啊");
}
Log.v("breakthrough","复制成功");
}
catch(Exception e)
{
e.printstacktrace();
Log.v("breakthrough","数据库复制失败");
}
finally
{
try{
in.close();
out.close();
}
catch(Exception e)
{
e.printstacktrace();
Log.v("breakthrough","关闭输入输出流失败");
}
}
db = sqliteDatabase.openorCreateDatabase(file,null);
Log.v("breakthrough","打开复制的数据库成功");
Cursor cursor = db.rawquery("select _ID,content from Demo","返回了Cursor成功");
List = (ListVIEw)findVIEwByID(R.ID.List);
Log.v("breakthrough","实例化List成功");
String ss = cursor.getColumnname(0);
Log.v("break","实例化ss成功");
int a = cursor.getColumnCount();
Log.v("break","实例化a成功");
int b = cursor.getCount();
TextVIEw text = (TextVIEw)findVIEwByID(R.ID.text);
Log.v("break","实例化b成功");
text.setText("行名是:"+ss + ",列数是:" + a +",行数是:"+ b);
Log.v("break","text显示成功");
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
MainActivity.this,
R.layout.line,cursor,
new String[] {"_ID","content"},
new int[] {R.ID.text0,R.ID.text},
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
Log.v("break","绑定成功");
List.setAdapter(adapter);
Log.v("breakthrough","成功运行");
}
}
xml代码:
activity_main.xml
<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"
xmlns:tools="http://schemas.androID.com/tools"
androID:layout_wIDth="match_parent"
androID:layout_height="match_parent"
androID:orIEntation = "vertical">
<TextVIEw
androID:ID = "@+ID/text"
androID:layout_wIDth="match_parent"
androID:layout_height="wrap_content"
androID:text="@string/hello_world" />
<ListVIEw
androID:ID = "@+ID/List"
androID:layout_wIDth="match_parent"
androID:layout_height="wrap_content"/>
</linearLayout>
line.xml
<?xml version="1.0" enCoding="utf-8"?>
<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"
androID:layout_wIDth="match_parent"
androID:layout_height="match_parent"
androID:orIEntation="vertical" >
<TextVIEw
androID:ID = "@+ID/text0"
androID:layout_wIDth = "match_parent"
androID:layout_height = "wrap_content"/>
<TextVIEw
androID:ID = "@+ID/text"
androID:layout_wIDth="match_parent"
androID:layout_height="wrap_content" />
</linearLayout> 第八步:看结果。
结语:由于是我的第一篇博文,在叙述和表达上,都还存在不足,希望大家指正,如果发现文章中存在的描述不规范的地方,请在文章下方评论,我会在看见的第一时间改正。 总结
以上是内存溢出为你收集整理的利用SQLite Expert 工具将Excel数据导入SQLite全部内容,希望文章能够帮你解决利用SQLite Expert 工具将Excel数据导入SQLite所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)