Avatar billede fredag1 Nybegynder
14. marts 2006 - 11:33 Der er 7 kommentarer og
1 løsning

C++ og Excel

Kan man operare på Excel gennem C++? Altså at opdatere en excel
fil gennem C++ programmer?
Avatar billede arne_v Ekspert
14. marts 2006 - 13:22 #1
ja

den mest primitive mulighed er at bruge ODBC kald
Avatar billede arne_v Ekspert
22. april 2006 - 21:58 #2
OK ?
Avatar billede fredag1 Nybegynder
24. april 2006 - 13:11 #3
Kan du f.eks sende et styke kode der åbner en Excel fil og skrive på det?
Avatar billede arne_v Ekspert
25. april 2006 - 04:00 #4
Book1.xls før:

1    A
2    BB
Avatar billede arne_v Ekspert
25. april 2006 - 04:00 #5
#include <stdio.h>
#include <stdlib.h>

#include <windows.h>
#include <sql.h>
#include <sqlext.h>

int main()
{
  SQLHENV Environment;
  SQLHDBC DataBaseConnect;
  SQLHSTMT stmt;
  SQLRETURN stat;
  char *constr = "Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\\Book1.xls;READONLY=FALSE;FIRSTROWHASNAMES=0;";
  char outconstr[1024];
  int outconlen;
  char sqlstr[1000];
  int i;
  char s[50];
  int il,sl;
  stat = SQLAllocEnv(&Environment);
  stat = SQLAllocConnect(Environment,&DataBaseConnect);
  stat = SQLDriverConnect(DataBaseConnect,NULL,
                          (SQLCHAR *)constr,(SQLSMALLINT)strlen(constr),
                          (SQLCHAR *)outconstr, (SQLSMALLINT)sizeof(outconstr),
                          (SQLSMALLINT *)&outconlen,SQL_DRIVER_COMPLETE);
  stat = SQLAllocStmt(DataBaseConnect,&stmt);
  sprintf(sqlstr,"INSERT INTO [sheet1$] VALUES(%d,'%s')",3,"CCC");
  stat = SQLExecDirect(stmt,(SQLCHAR *)sqlstr,strlen(sqlstr));
  printf("stat=%d\n",stat);
  sprintf(sqlstr,"INSERT INTO [sheet1$] VALUES(%d,'%s')",4,"DDDD");
  stat = SQLExecDirect(stmt,(SQLCHAR *)sqlstr,strlen(sqlstr));
  printf("stat=%d\n",stat);
  SQLFreeStmt(stmt,SQL_DROP);
  SQLDisconnect(DataBaseConnect);
  SQLFreeConnect(DataBaseConnect);
  SQLFreeEnv(Environment); 
  return 0;
}
Avatar billede arne_v Ekspert
25. april 2006 - 04:01 #6
Book1.xls efter:

1    A
2    BB
3    CCC
4    DDDD
Avatar billede arne_v Ekspert
25. april 2006 - 04:02 #7
de 2:

printf("stat=%d\n",stat);

kan bare fjernes
Avatar billede fredag1 Nybegynder
25. april 2006 - 09:29 #8
Flot.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester