我能够在Nodejs应用程序https://github.com/SheetJS/j中使用此库,但我似乎无法在需要使用amd模块的新项目中使用它。
使用commonjs我能够做到:
///<reference path="../../node_modules/j/misc/j.d.ts"/>
var Excel = <J>require('J');
我正在尝试AMD的最新尝试:
/// <amd-dependency path = "../../j/j" /> (the Library is in a different spot in this project)
private run(){
var Excel = require('../../j/j');
var array = Excel.readFile("D:\\file.xls");
}
错误TS2095:找不到符号&#39;要求&#39;。 这是基于观察这个我认为这个J库知道出口但我可能是错的? https://www.youtube.com/watch?v=4AGQpv0MKsA
编辑:
///<reference path='misc/cfb.d.ts'/>
interface Cell {
v;
w;
t: string;
f: string;
ixfe: number;
}
interface CellAddress {
c: number;
r: number;
}
interface CellRange {
s: CellAddress;
e: CellAddress;
}
interface Worksheet {
[key: string]: Cell;
}
interface Worksheets {
[key: string]: Worksheet;
}
interface Workbook {
SheetNames: string[];
Sheets: Worksheets;
}
interface J {
parse_xlscfb(cfb:CFBContainer): Workbook;
read;
readFile(filename:string): any;
utils: {
encode_col(col:number): string;
encode_row(row:number): string;
encode_cell(cell:CellAddress): string;
encode_range;
decode_col(col:string): number;
decode_row(row:string): number;
split_cell(cell:string): string[];
decode_cell(cell:string): CellAddress;
decode_range(cell:string): CellRange;
sheet_to_csv(worksheet:Worksheet): string;
get_formulae(worksheet:Worksheet): string[];
make_csv(worksheet:Worksheet): string;
sheet_to_row_object_array(worksheet:Worksheet): Object[];
};
verbose: Number;
CFB: CFB;
main;
}
编辑试过的答案: 尝试将模块添加到d.ts文件的顶部
///<reference path='misc/cfb.d.ts'/>
declare module 'J'{
var j: J;
export = j;
}
答案 0 :(得分:1)
你从哪里获得j.d.ts
?您应该将其更新为包括:
declare module 'J'{
var j:J;
export = j;
}
然后你可以这样做:
import Excel = require('J');
注意 import 而不是 var 。这样,您可以使用--module commonjs
进行节点编译,使用--module amd
编译for requirejs。