乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel第一列输出到文本里面怎么做?-c 导出excel并下载,java下载excel文件

excel第一列输出到文本里面怎么做?-c 导出excel并下载,java下载excel文件

作者:乔山办公网日期:

返回目录:excel表格制作


  C语言不能直接把数据e68a84e8a2ade799bee5baa6363导入到c语言中去,执行相当困难,因为excel没有c语言接口。

        所以,采用先将数据粘贴到txt文本文档里面,然后导入c语言中。

实现的方法过程:

  1. 将excel先保存成txt文件(也可以把某一列先提前复制出来,只把那一列复制到txt文档里面)。[打开excel之后,选择需要的那列点击复制,如图所示,然后粘贴到文本文档里面]


  2. 通过c语言对txt文件进行读取数据操作。

下面列举出c语言操控文本的代码:

#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("不能打开文件!");
        rturn 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;
}


'鼠标在操作的工作表标签例如sheet上右键 --“查看代码”,调出VBA窗口,菜单:插入--模块,把下面代码复制进去

Sub 写入文本()
Dim ws As Worksheet
Set ws = Worksheets(1)
With ws
hs = .Range("a1").End(xlDown).Row
ss = Join(Application.Transpose(Range("a1:a" & hs)), ",")
End With
Open "c:\结果.txt" For Output As #1
Print #1, ss;
Close #1
Set ws = Nothing
End Sub

'回到EXCEL窗口,按“工具-宏-宏”,或直接按快捷键AlT+F8,在对话框选“转为批注”宏执行即可。
'结果到C盘看:“结果.txt”文件
LZ试试,绝对可以。(经 DEV-C++ 通过)
会有一个名为1.txt的文件在你存程序的地方。

P.S:通常可以使用freopen将输入/输出重定向e799bee5baa6e59b9ee7ad94365到文件中。例如

freopen("in.txt", "r", stdin);/*从in.txt读取*/
freopen("out.txt", "w", stdin); /*清空out.txt,并将结果写入out.txt*/
freopen("out.txt", "a", stdin);/*将结果写入out.txt*/

代码
#include"stdio.h"
int main()
{
int A[]={1,2,3,4,5,6,7,8,9};
int B[]={2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int C[]={3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int D[]{17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
int E[]={20,21,22,23,24,25,26,27,28,29,30,31,32};
int F[]={21,22,23,24,25,26,27,28,29,30,31,32,33};
int a,b,c,d,e,f;
int i,j,k,l,m,n,sum;
printf("请输入一个数:\n");
scanf("%d",&sum);
freopen("1.txt","w",stdout);
if(sum<128)
{
for(i=0;i<9;i++)
a=A[i];
for(j=0;j<14;j++)
{
if(B[j]>a) b=B[j];
for(k=0;k<14;k++)
{
if(C[k]>b) c=C[k];
for(l=0;l<13;l++)
{
d=D[l];
for(m=0;m<13;m++)
{
if(E[m]>d) e=E[m];
for(n=0;n<13;n++)
{
if(F[n]>e)
f=F[n];
if(sum>a+b+c+d+e+f)
continue;
if(sum==a+b+c+d+e+f)
printf("%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f);
}
}
}
}
}
}
}

LZ试试,绝对可以。(经 DEV-C++ 通过)
会有一个名为1.txt的文件在你存程序的地方。

P.S:通常可以使用freopen将输入/输出重定向到文件中。例如

freopen("in.txt", "r", stdin);/*从in.txt读取*/
freopen("out.txt", "w", stdin); /*将结果写入out.txt*/
freopen("out.txt", "a", stdin);/*清空out.txt,并将结果写入out.txt*/

我之前也遇到这样的问题,觉得这个答案挺好的。

C语言有文件操作函数
如fopen之类,然后就读取函数就可以了
但应该怎么读,必须要看你的文件内容是什么样子的,才能确定用什么读取命令,
一般的用fscanf就可以
由于行数未知,所以解决方法可以有两个,
1.是定义足够大的数组,比如你最多有100行,那么就定义一个100元素的数组,这样程序简单,但不灵活.
2.是用链表,但编程要复杂些
#include <stdio.h>
#define N 50
void main()
{
int a[N],b[N],c[N],d[N];
int i=0,n;
FILE *f;
if((f=fopen("a16.txt","r"))==NULL)
{
printf("无法打开\n");return;
}
while(!feof(f))
{ fscanf(f,"%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);
i++;
}
fclose(f);
for(n=i,i=0;i<n;i++)
printf("%5d %5d %5d %5d\n",a[i],b[i],c[i],d[i]);
}

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网