如何使用C读取xlsx文件
作为学校项目的一部分,我需要使用LabWindows/CVI 我需要读取xlsx文件并对其进行分析 我下载这个图书馆 我放大了h文件和lib文件。 这是我的代码(我从中获得):如何使用C读取xlsx文件,c,libxl,C,Libxl,作为学校项目的一部分,我需要使用LabWindows/CVI 我需要读取xlsx文件并对其进行分析 我下载这个图书馆 我放大了h文件和lib文件。 这是我的代码(我从中获得): #包括 #包括 #包括 #包括“最终工作.h” #包括“libxl.h” ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#包括
#包括
#包括
#包括“最终工作.h”
#包括“libxl.h”
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
静态内面板手柄;
int readFile()
{
BookHandle book=xlCreateBook();//xlCreateXMLBook()
if(xlBookLoad(book,“G:/Electro data/0.5_time\u all.xlsx”)){
返回0;
}
如果(书)
{
SheetHandle sheet=xlBookAddSheet(书本,L“Sheet1”,0);
若有(第页)
{
xlsheetwritest(sheet,2,1,L“Hello,World!”,NULL);
xlSheetWriteNum(sheet,3,1,1000,NULL);
}
xlBookSave(book,L“example.xls”);
xlBookRelease(图书发行);
}
返回0;
}
我得到了这个错误:
生成状态(Final work.prj-Debug)
最后的工作.c-3警告
错误:“c:\Users\USER\Documents\National Instruments\CVI\cvibuild.Final work\Debug\Final work.obj”中引用了未定义的符号“\U xlBookAddSheetA”
错误:“c:\Users\USER\Documents\National Instruments\CVI\cvibuild.Final work\Debug\Final work.obj”中引用了未定义的符号“\U xlBookLoadA”
错误:“c:\Users\USER\Documents\National Instruments\CVI\cvibuild.Final work\Debug\Final work.obj”中引用了未定义的符号“\U xlBookReleaseA”
错误:“c:\Users\USER\Documents\National Instruments\CVI\cvibuild.Final work\Debug\Final work.obj”中引用了未定义的符号“\U xlBookSaveA”
错误:“c:\Users\USER\Documents\National Instruments\CVI\cvibuild.Final work\Debug\Final work.obj”中引用了未定义的符号“\U xlCreateBookCA”
错误:“c:\Users\USER\Documents\National Instruments\CVI\cvibuild.Final work\Debug\Final work.obj”中引用了未定义的符号“\U XLSHEETSWRITENUMA”
错误:“c:\Users\USER\Documents\National Instruments\CVI\cvibuild.Final work\Debug\Final work.obj”中引用了未定义的符号“\U xlSheetWriteStrA”
生成失败
下面是一张图片来说明:
我做错了什么?您需要链接提供的库。从屏幕截图上看,您似乎已将库添加到项目中,但是链接器没有获得它。IDK,但它们是链接器错误。但是,您应该修复有关向函数传递不兼容指针类型的三个编译器警告:
unsigned short[]
toconst char*
。可能是由于L“Sheet1”
中的L
,从警告消息判断,这可能只是“Sheet1”
。与您的问题无关,但最有可能是错误的:如果xlBookLoad()
返回true
,则成功。但是你退出了这个功能。而且您没有检查book
在if
之前是否包含有效句柄。这是哪个IDE?感谢您的评论IDE是LabWindows/CVI
#include <cvirte.h>
#include <userint.h>
#include <formatio.h>
#include "Final work.h"
#include "libxl.h"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static int panelHandle;
int readFile()
{
BookHandle book = xlCreateBook(); // xlCreateXMLBook()
if (xlBookLoad(book, "G:/Electro data/0.5_time_all.xlsx")){
return 0;
}
if(book)
{
SheetHandle sheet = xlBookAddSheet(book, L"Sheet1", 0);
if(sheet)
{
xlSheetWriteStr(sheet, 2, 1, L"Hello, World !", NULL);
xlSheetWriteNum(sheet, 3, 1, 1000, NULL);
}
xlBookSave(book, L"example.xls");
xlBookRelease(book);
}
return 0;
}