Exce表格网

c语言将数据输出excel文件(如何用c语言读取excel文件里的数据)

来源:www.0djx.com  时间:2022-12-27 19:20   点击:167  编辑:表格网  手机版

1. 如何用c语言读取excel文件里的数据

首先你要明白导入文件步骤:

1.实例化excel读取对象

2.加载excel文件

全部加载

选择加载

3.读取excel文件

全部读取

逐行读取

以下你看看那个更加适应你

顺便列出几个其他语言导入Excel文件,希望对你有帮助

PHP导入Excel文件

java把Excel文件数据导入数据库

PHP实现导出Excel文件通用方法

JXL生成的excel文件+JAVA文件下载功能

Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载

java处理Excel文件---excel文件的创建,删除,写入,读取

Java读取Excel文件

jxl解析Excel文件

JXL操作Excel文件

java POI读取Excel文件

java使用poi读取excel文件代码示例

用jxl生成Excel文件

PHP验证码文件类

PHP 下载远程文件

PHP获取远程文件的大小

php压缩CSS文件

PHP强制下载文件

php读取csv文件类

php 简单ftp文件上传范例

一个php 生成zip文件的类

2. 如何从文件中读取数据C语言

使用文件操作函数fscanf即可提取文本当中特定的信息。例如要提取一个整数,可以用fscanf(fp,"%d",&n);要提取一个字符串可以用fscanf(fp,"%s",s),其中fp为文件指针。

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。

2、例程:

#include<stdio.h>

int a;

char b,c[100];

int main(){

FILE * fp1 = fopen("input.txt", "r");//打开输入文件

FILE * fp2 = fopen("output.txt", "w");//打开输出文件

if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出

puts("不能打开文件!");

return 0;

}

fscanf(fp1,"%d",&a);//从输入文件读取一个整数

b=fgetc(fp1);//从输入文件读取一个字符

fgets(c,100,fp1);//从输入文件读取一行字符串

printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数

fputs(c,fp2);//向输出文件写入一行字符串

fputc(b,fp2);//向输出文件写入一个字符

fprintf(fp2,"%d",a);//向输出文件写入一个整数

fclose(fp1);//关闭输入文件

fclose(fp2);//关闭输出文件,相当于保存

return 0;

}

3. c语言读取excel单元格内容

方法如下

工具/原材料excel2016版、电脑。

1、打开电脑找到并双击打开excel2016版表格软件;

2、双击打开excel表格软件以后,为了示范在AB列单元格编辑好任意文本内容;

3、编辑好数字内容以后,选中C列的单元格并在编辑栏里输入=A1+B1;

4、公式输入好以后,此时在按“ctrl+回车键”对公式的填充即可完成结果的计算。

4. c语言怎么读取excel文件

1、注意Office版本,一般office2016环境下写的东西,office2013环境下是运行不了的。(据说可以有第三方库支持,以后慢慢研究)

2、注意中断程序号一定要注销计算机,否则docx文件老是提示被占用。

3、注意try catch finally一定得加上。

4、多余符号用正则表达排除

/// <summary>

/// 获取word文件的文本内容

/// </summary>

/// <param name="docFileName"></param>

/// <returns></returns>

private string DocToExcel2(string docFileName)

{

//实例化COM

Word.ApplicationClass app = null;

Word.Document wd = null;

object nullobj = System.Reflection.Missing.Value;

object fileobj = docFileName;

string context = string.Empty;

try

{

app = new Word.ApplicationClass();

wd = app.Documents.Open(ref fileobj, ref nullobj, ref nullobj, ref nullobj,

ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,

ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,

ref nullobj, ref nullobj);

//取得doc文件中的文本内容

foreach (Word.Table table in wd.Tables)

{

//遍历每一行去处理

for (int k = 0; k < table.Rows.Count; k++)

{

string firstContent = table.Cell(k, 1).Range.Text;

//图上编号

Regex regTSBH1 = new Regex(@"^图上编号.+");

//Match mcMPH1 = regMPH1.Match();

if (regTSBH1.IsMatch(firstContent))

{

Regex regTSBH2 = new Regex(@"^([^\t\v\s]+).+");

Match mcTSBH2 = regTSBH2.Match(table.Cell(k, 2).Range.Text.Trim());

context += /*mcMPH1.Groups[1].Value.Trim() + "," + */mcTSBH2.Groups[1].Value.Trim() + ",";

}

//门牌号

Regex regMPH1 = new Regex(@"^门牌号.+");

//Match mcMPH1 = regMPH1.Match();

if (regMPH1.IsMatch(firstContent))

{

Regex regMPH2 = new Regex(@"^([^\t\v\s]+).+");

Match mcMPH2 = regMPH2.Match(table.Cell(k, 2).Range.Text.Trim());

context += /*mcMPH1.Groups[1].Value.Trim() + "," + */mcMPH2.Groups[1].Value.Trim() + ",";

}

//户主

Regex regHZ1 = new Regex(@"^户主.+");

//Match mcHZ1 = regHZ1.Match(table.Cell(5, 1).Range.Text.Trim());

if (regHZ1.IsMatch(firstContent))

{

Regex regHZ2 = new Regex(@"^^([^\t\v\s]+).+");

Match mcHZ2 = regHZ2.Match(table.Cell(k, 2).Range.Text.Trim());

context += /*mcHZ1.Groups[1].Value.Trim() + "," + */mcHZ2.Groups[1].Value.Trim() + ",";

}

//电话

Regex regDH1 = new Regex(@"^电话.+");

//Match mcDH1 = regDH1.Match(table.Cell(6, 1).Range.Text.Trim());

if (regDH1.IsMatch(firstContent))

{

Regex regDH2 = new Regex(@"^([^\t\v\s]+).+");

Match mcDH2 = regDH2.Match(table.Cell(k, 2).Range.Text.Trim());

context += /*mcDH1.Groups[1].Value.Trim() + "," + */mcDH2.Groups[1].Value.Trim() + ",";

}

//楼层数

Regex regLCS1 = new Regex(@"^楼层数.+");

//Match mcLCS1 = regLCS1.Match(table.Cell(7, 1).Range.Text.Trim());

if (regLCS1.IsMatch(firstContent))

{

Regex regLCS2 = new Regex(@"^([^\t\v\s]+).+");

Match mcLCS2 = regLCS2.Match(table.Cell(k, 2).Range.Text.Trim());

context += /*mcLCS1.Groups[1].Value.Trim() + "," + */mcLCS2.Groups[1].Value.Trim() + ",";

context += /*mcLCS1.Groups[1].Value.Trim() + "," + */docFileName + "\r\n";

}

//文件名,用于排错

//Regex regLCS1 = new Regex(@"^([\u4e00-\u9fa5]+).+");

//Match mcLCS1 = regLCS1.Match(table.Cell(7, 1).Range.Text.Trim());

//if((k % 7 == 0)&&(k != 0))

//{

// context += /*mcLCS1.Groups[1].Value.Trim() + "," + */docFileName + "\r\n";

//}

}

}

}

catch (Exception error)

{

MessageBox.Show("Error:" + error.Message);

}

finally

{

//关闭文件

wd.Close(ref nullobj, ref nullobj, ref nullobj);

//关闭COM

app.Quit(ref nullobj, ref nullobj, ref nullobj);

}

//返回文本内容

return context;

}

5. 如何用c语言读取excel文件里的数据并保存

其实2个窗口相对来说是独立的。如果你需要从form2拿到回传的数据 通常有2个方案1.中间类,建立一个静态的中间类。在form2中修改,当form2关闭之后从静态类中读取。本来2个窗口需要传递的数据不应该属于任何一个窗口,而是属于这个程序。

2.回调法,form2的构造函数中添加Action回调。相当于从form1传了一个方法function到form2,在form2中修改字符之后 调用/Action Func delegete 都可以。

大致写法是Action<string> 这是一个带string参数的匿名函数。将它添加到form2的构造函数参数中。在需要的时候调用。

public Window2(Action<string> action){ //构造函数}

//Window1 中的代码Window2 w = new Window2((str)=>{ //这里是传入的函数 str 就是从form2中返回的字符串});

//Window2中如何回传

action("测试文本");

6. c语言读入excel数据

你是用的Excel的VBA脚本读取WINCC历史数据库里面的数据?其实wincc的历史数据库就是微软的SQL sever。

问题就简单话了,相当于用VBA读取或者写入SQL数据库 数据。

7. c++从excel中读取数据

1、要使用C语言进行Excel文件的读取,要用到专门的函数,并使用指针做内存位移操作;

2、在执行读取Excel文件的操作时,需要使用函数有:

fopen: 此函数用来打开指定的文件,返回文件指针

fseek:这个函数主要用来进行文件随机定位,通过定位,读取指定位置的数据

fscanf:用来从指定位置获取数据

fclose:用来将打开的文件关闭

3、fseek函数的一般调用格式如下:fseek(文件指针,位移量,起始位置) ;

其中参数位移量,是指重新定位时的字节偏移数,表示相对于基址的字符数,通常是一个长整型数,可以是整形常量,整形表达式等。

4、对于fseek函数的起始位置参数,是指重新定位时的基准点,也就是基址,用整数或符合常量表示,包括:

0:符号常量为SEEK_SET,表示文件开头

1:符号常量为SEEK_CUR,表示文件指针的当前位置

2:符号常量为SEEK_END,表示文件末尾

函数使用如下例: fseek(fp , 10L , 0) ;

8. 如何用c语言读取excel文件里的数据格式

若是文本的单元格较少,可以使用定位的方法找到文本所在单元格,使用方法如下:所需材料:Excel。

一、进入“开始”选项,点击“查找和选择”,下拉菜单内点击“转到”。

二、打开定位窗口后,点击“定位条件”。

三、勾选“常量”,下面四项内仅勾选“文本”,点击“确定”。四、这时即可定位至以文本存储数值所在单元格。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片